一、软件的生命周期
需求分析——计划——设计——编码——测试——运行维护
需求分析:分析用户需求是否合理,产生需求文档(市场分析、技术分析…)
计划:执行需求执行计划(周期,什么时候开始,什么时候结束)
设计:将需求细化成一个一个的任务,然后进行技术设计(设计哪一些接口、采取什么样的技术),产出设计文档
编码:开发人员根据需求文档和设计文档来进行编码
测试:测试人员参考测试用例来执行测试
运行维护:项目上线之后,测试人员进行线上维护。
线上维护有三个方面:
1)修复性维护:对项目中未发现的问题进行修复
2)完善性维护:对功能进行完善
3)预防性维护:避免产品在 线上出现一些其他问题,进行一些预防手段
二、软件测试生命周期
需求分析——测试计划——测试设计、测试开发——测试执行——测试评估
需求分析:站在用户的角度,查看需求逻辑是否正确,是否符合用户的需求和行为习惯
站在开发人员的角度,思考需求是否能够实现,实现的难度大小
测试计划:制定测试计划(包括但不限于测试的周期、人力的安排…)
测试设计、测试开发:设计测试用例,经验丰富的测试人员开始进行单元测试
测试执行:参考测试用例来执行测试
测试评估:测试人员记录测试、做好缺陷管理
而软件测试贯穿于软件的整个生命周期!测试在软件生命周期中的体现:
需求分析:站在用户的角度,查看需求逻辑是否正确,是否符合用户的需求和行为习惯; 站在开发人员的角度,思考需求技术实现难度,针对技术实现难度来合理调整需求
计划:根据需求编写测试计划/测试方案设计
设计:测试人员适当的了解设计,合理的进行测试用例的设计和调整编码
编码:专业的白盒测试人员可以计划执行单元测试,完善、细化测试用例以及调整测试计划和方案测试
测试:参考测试用例来执行测试
运行维护:测试往往是最了解需求的人。测试人员通常来进钱产品的演示和功能的介绍, 期间记录下来大家的反馈建议,反馈给产品经理,成为一个新的用户需求。
演示会议:项目组内所有的成员,包括运营同学、产品经理等等
后台管理软件(给运营同学、产品经理去使用)
三、测试用例
测试用例解决测什么,怎么测的问题,是为了实施测试而向被测试系统提供的一组集合。集合要素包含:测试环境、操作步骤、测试数据、预期结果等。