项目工作总结
-----------------------------------------------
测试阶段划分
- 公司自有项目采用迭代式开发,年度大版本,季度小版本,每个版本都要进行多次回归测试,首次进行功能测试,目的测试当前版本功能没有问题,第二次进行升级测试,目的确认从旧版本升级到新版本数据兼容,功能正常,第三次进行功能测试,目的升级之后功能正常。
- 每个版本都应该有专项测试阶段,比如接口测试、性能测试、安全测试等。
测试过程文档输出
- 项目需求评审后,或者项目已展开需求讨论后,就应该与项目经理沟通并开始考虑测试的事情。
- 涉及的测试环境,需要在测试之前搭建好,如果搭建技术较高,应该与研发交流共同努力完成,并且记录详细搭建文档,注意事项等。
- 测试过程文档不能缺失,比如测试计划、测试方案、测试用例、测试报告等。写文档的目的不只是为了公司财富的积累,更多的是对自己测试思路的梳理以及反思。
- 测试的每个阶段都应该有输出,比如计划阶段,输出测试计划、测试方案,执行阶段输出测试用例,系统测试结束后输出测试报告等。整个测试过程都应该有迹可循,有文档可以跟踪。
测试关注点
- 测试人员需要有大局观,把握项目整体需求与个人负责测试部分需求之间的联系。
- 需要对需求有多维度思考,比如一般需求由用户提出,包括了显性需求与隐形需求,显性需求更多是体现在是否实现了用户需要的功能,隐形需求有些用户表达不是很到位,比如功能模块的安全性需求,性能需求,易操作需求,易扩展需求等。
沟通技巧
- 需求评审之前多做功课,多发表自己对需求、对产品的看法;
- 用例评审时,一定要思路清晰,用例与需求对应,用例兼顾多维度;
- 测试过程中与开发确认问题时,需要积极沟通,协助开发定位问题,推动问题解决;
- 与开发沟通时,尽量从这个问题对用户的影响程度方面来说,这样更具有说服力。
注重细节
- 编写测试矩阵适量增加颜色标注,更好进行对比分析。
- 有些测试任务比较复杂,说明清楚测试环境(机器型号,CPU型号,网线型号,内存大小,操作系统版本,补丁版本,以及其他参数),测试过程中关键数据的截图佐证。
测试工具记录
- Web功能测试,需要在多款浏览器(Chrome/IE/Firefix)与多个平台(Windows/Linux)进行交叉测试排除浏览器兼容性问题。
- 自动化测试工具robotframework,gitlab,hudson&jenkins。
- 抓包工具wireshark,burpsuit,f12,fiddler。
- 安全工具,sqlmap,burpsuit,nessus,appscan。
- 性能测试工具,LR,jmeter,zabbix,
- 测试环境搭建工具,openstack,vmware,vsphere,docker
- 日志实时读取工具,tailf, EKL(ElasticSearch/Logstash/Kibana)
软件测试知识体系建立
- 同一个项目测试团队,统一软件测试知识体系还是值得提倡的,比如达到软件评测师水准。
软件研发知识体系建立
- 对测试的深入要求需要了解更多软件研发与架构方面知识体系,可以参考系统架构设计师知识体系
发展方向规划
-----------------------------------------------
测试管理岗位
- 相对技术更喜欢沟通与向往外面的世界
- 善于沟通,组织协调能力强的人。
- 长期抗压能力较强,上能顶住领导批评,下能顶住下属埋怨。能受得了委屈,吃的了亏。
- 对管理工作充满持续的激情。
性能测试专家
- 相对人情事故更喜数字的表达
- 对算机硬件极限感兴趣,喜欢尽可能压榨硬件设备发挥潜力。
- 对计算机各个组成部件与原理了如指掌,深入研究通信与计算极限。
自动化测试专家
- 精通一门开发语言。
- 熟悉业务。
- 熟悉各种测试场景。
安全测试专家
- 乐于学习与研究,关注最新安全漏洞。
- 熟悉行业与产品。
- 精通各种测试工具。