什么是软件测试?
说法一:使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异。
说法二:软件测试就是利用一定的方法对软件的质量或者使用性进行判断和评估的过程。
软件测试的工作内容
1.寻找软件中的bug,并且越早发现越好
2.确认bug的可重复性以及bug产生的步骤
3.确认bug是否被解决
4.测试方法,测试计划,测试平台,测试代码,测试用例,测试文档,测试报告的确定、编写和执行。
设计测试用例步骤:
1、测试需求分析:从项目部拿到软件的需求规格说明书后,开始对项目的需求进行分析,通过自己的分析、理解,整理成为测试需求, 清楚分析出被测试对象具有哪些功能。 明确测试用例中的测试集用例与需求的关系,即一个或多个测试用例集对应一个测试需求。
2、业务流程分析:分析完需求后,明确每一个功能的业务处理流程,不同的功能点作业务的组合,以及项目的隐式需求。如遇复杂的测试用例设计前,先画出软件的业务流程。从业务流程上,应得到以下信息:
A、 主流程是什么?
B、 条件备选流程是什么?
C、 数据流向是什么?
D、 关键的判断条件是什么?
3、测试用例设计
完成以上两步则可进行测试用例设计,功能测试用例,应尽量考虑边界、异常、性能的情况,以便发现更多的隐藏问题。设计测试用例的常见方法:1)等价类 2)边界值 3)因果图 4) 判定表 5)数据迁移 6) 正交实验 7) 场景法 8) 错误推断(注意:编写测试用例时,我们尽可能取的不应该是有效等价类而应该是无效等价类)
4.编写完成后自我检查以及部门内部评审:
1)测试用例本身的描述是否清晰,语言准确;是否存在二义性;
2)测试用例内容是否完整,是否清晰的包含输入和预期输出的结果;测试步骤是否清晰;
3)测试用例中使用的测试数据是否恰当,准确;
4)测试用例是否具有指导性,是否能灵活的指导软件测试工程师通过测试用例发现更多的缺陷,而不是限制他们的思维;
5)是否考虑到测试用例执行的效率。对于不断重复执行的步骤,是否保证了验证点相同;或者测试用例的设计是否存在冗余性等。这些都可能导致测试用例执行效率低下;
6)画出软件需求跟踪矩阵,验证测试用例是否完全覆盖了需求,验证测试用例的覆盖性;
7)测试用例是否完全遵守了软件需求的规定。这一点其实有一些难做到。考虑到时间/成本的关系,应该视具体情况而定。
5.测试用例更新完善
测试用例编写完成之后需要不断完善,如遇需求更改或功能新增时,测试用例必须配套修改更新,同时在测试过程中发现设计测试用例时考虑不周,需要对测试用例进行修改完善;在软件交付使用后客户反馈的软件缺陷,而缺陷又是因测试用例存在漏洞造成,也需要对测试用例进行完善。