什么是软件测试
用尽一切可能的方法或者工具,查找软件中潜藏的错误和缺陷,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别,保证软件产品的质量符合预期要求,并进而为产品发布树立可靠信心的一种手段。(如果把软件产品比作房子的话,开发就是盖房子的人,那么测试就是质量管理人员,一个好的测试人员是懂开发知识的,如果不懂的话,就相当于不懂的这个房子是怎么盖起来的,那么就无法准确的判断这个质量上的缺陷)
三个重点
- 覆盖软件研发的各个阶段(学习的内容广泛)
- 需要同时使用手工和工具的方式进行(学习开发知识)
- 属于质量管理的范畴(职业晋升空间巨大)
软件测试原则
- 测试应该尽早进行,最好在需求阶段就开始介入,这样能够降低错问的成本。
- 程序员应该避免检查自己的程序,软件测试应该是由第三方来负责的。
- 设计测试用例的时候应该考虑合法输入和不合法输入,以及各种边界值法,特殊情况还有制造极端状态。
- 软件测试是为了发现程序中有错误,而不是让程序中没有错误。
- 穷尽测试是不可能的应该设定及时终止的条件。
- 缺陷具有集群原则(发现缺陷后这个模块可能缺陷更多),要重点关注这个模块
软件测试生命周期
-
测试需求分析阶段
阅读需求,理解需求,主要就是对业务的学习,分析需求点,参与需求评审会议。 -
测试计划阶段
编写测试计划,测试用例,参考软件需求规格说明书,项目总体计划 -
测试执行阶段
搭建测试环境,执行预测(冒烟测试),判断当前版本是否可测,如果预测通过,正式进入系统测试,遇到问题提交bug到缺陷管理平台,并对bug进行跟踪,知道被测软件达到测试需求要求,没有重大bug,测试结束。 -
测试评估阶段
出测试报告,对整个测试的过程和版本质量做一个详细的评估,确认是否可以上线。 -
流程梳理
需求分析–>编写测试用例–>评审测试用例–>搭建测试环境–>等待开发研发完成,提交测试包进行测试–>部署测试包–>冒烟测试(预测)通过–>执行测试用例–>bug跟踪处理–>面向用户使用。