如何快速学习和了解一个新的被测系统.docx
如何快速学习和了解一个新的被测系统如何快速学习和了解一个新的被测系统 一. 如何获取信息 1. 成为系统中的游客 1) 经典线路 2) 漫游者 2. 一个好的问题胜过一个正确的答案:提问,提问,还是提问 3. 前人的历史遗留文档:取其精华,去其糟粕 4. 文档库: 泛读,或作为查找手册,了解哪些内容存在于领域文档库,遇到问题根据需要再针对某个部分精读。终止于细节。 5. 参加SA和开发组织的各种会议:各种知识的交叉,不同岗位的思维方式,看问题不同的角度,会让你拥有一个全新的视野。 6. 以版本需求为圆心,探索精神为半径,画圆:通过点实现面,实践,实践,还是实践。 7. 善用UAT,向用户请教:了解需求背后的意义。 二. 学习者的心态 1. 青出于蓝而胜于蓝的心态 1) 将自己的想法构筑于前人之上 2) 站在他人的肩膀上寻求突破 2. 要“渔”or“鱼” 面对庞杂纷繁复杂的系统,最重要的不是了解系统的每一个细节,最重要的是学习遇到问题如何分析,找谁可以得到帮助,怎么思考,如何做出测试的品质。 3. 保持初学者的思维:好奇心,好奇心,还是好奇心 如何看待前人的不求甚解 三. 系统360度面面观 目标是360度,但目前能做到的估计只有180度。从多维度去了解系统,诠释系统,才能真正的认识系统。 1. 业务流程 业务关注点:用户规模,角色,场景,功能使用频率 系统层面关注点: 1) 权限控制方式; 2) 重要算法规则; 3) 系统的亮点或独有的特征 4) 了解以前生产上出现的严重缺陷。 系统特征: 1) 对外提供接口型 2) 流程驱动型 3) 扁平平行型 2. 环境资源 1) 架构 查看部署逻辑图 2) 几个数据源及用途 3) 查看日志的方法 3. 数据流 1) 前台操作对应后台数据如何更新 2) 造数据和回滚数据,依次insert和delete哪些表,了解表之间的依赖关联关系。 4. 关联调用 部署逻辑图中的关联关系侧重架构层面,这里主要从功能层面了解在何处调用,提供什么服务。 5. 配置文件 各配置文件的用途,关键配置项 6. PKG 了解PKG实现的功能用途,调用方式 7. 代码:梳理代码结构,从jsp,.do到service,DTO,DAO,sqlmapping 8. 发现的乐趣 看山是山:界面上的按钮就是一个按钮而已,点击就好了 看山不是山:拼命分析这个按钮触发了什么代码,什么pkg,涉及多少表,检验这个按钮的功能需要准备多少类型的测试数据. 看山还是山:按钮就是按钮,手到bug来