软件测试就是对项目开发过程中产生的一系列产品(包括代码、组件、子系统、系统/平台、各类项目相关文档等)进行有效审查及验证,其质量的一种任务活动。
从直观上来讲,软件测试似乎就是对测试对象进行检查、验证,但其实不然,它是由许多处理环节构成的。根据测试目标、质量控制的要求,它被划分为以下各类环节,并被设置了不同的准入、准出标准。
②彻底完全的测试是不可能的;
③软件测试是有风险的行为;
④并非所有的软件错误都能修复;
⑤反向思维逻辑;
⑥由小到大的测试范围;
⑦避免测试自己的项目;
⑧从用户需求入手。
所需测试的数据输入量太大、可输出的结果太多造成的。比如,软件的操作步骤过多,就会造成测试结果输出量过大的问题。另外,软件说明书虽然可以指导我们正常使用软件产品,但并不能成为我们测试的全部内容,因为软件还可能存在一些隐藏着的漏洞。
举个例子,下图是个正常的测试流程图。在测试设计阶段,相关测试设计人员会对测试对象进行了解、分析,尽可能覆盖更多的测试点。当发现错误时,测试人员会根据缺陷反馈给开发人员进行修改,修改完毕后,再进行回归测试。
但由于国内软件测试行业兴起的较晚,很多企业仍存在很多不规范的测试问题。比如,由于软件开发阶段消耗的时间过长,导致留给后期测试的时间紧缺。尤其是做回归测试时,往往重复测试过于频繁、项目期限日益迫近,导致很多项目只能凭借经验、记忆及技术人员的口述,对程序修改过的地方草草重测一遍了事。这也是软件在测试过程中,存在的的问题。
借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通等。
那么,做好测试计划的关键是什么呢?我认为,应该做好以下4点:
(1)明确测试的目标,增强测试计划的实用性;
(2)坚持“5W”规则,明确内容与过程;
(3)采用评审和更新机制,测试计划满足实际需求;
(4)分别创建测试计划、测试详细规格和测试用例。