测试执行,是按照测试设计的要求,通过执行测试用例,对比预期结果与设计结果的过程。测试执行活动是整个测试过程的核心环节,所有测试分析、测试设计、测试计划的结果都将在测试执行中得到最终的检验。
为了确保测试顺利开展,对于工作量比较大的项目,在测试正式启动之前要对能否启动测试进行评估。在产品级测试过程中,将投入很大的成本,包括测试环境、测试人力资源等。测试启动评估的目的是控制版本在转测试时的质量,尽量减少前期不成熟的版本对测试资源的浪费;通过牺牲短期的内部控制成本(转测试评估和预测试),可以较好地避免后期进行大量测试投入的风险。具体评估内容在测试计划中确定。
如果在测试计划中已经明确具体的测试用例分工,则按照计划执行即可,否则需要在执行前进行分配。测试用例的分配需要考虑以下方面。要执行的测试用例一般包括两部分,需要测试的新增特性的用例和需要回归的特性用例。测试的执行并不是一次性完成的,一个测试往往包含很多次各种规模的执行。考虑特性之间的交互关系,由于这些关系的存在,不同特性的用例在执行时可能合并、合作。考虑测试用例的优先级,优先安排执行优先级高的测试用例;考虑时间进度,平衡测试进度和测试执行质量。
当测试环境搭建完成后,测试人员将在自己搭建的环境上执行测试用例,开展测试工作。测试人员在执行测试用例的过程中,如发现实际结果与预期结果不一致,则意味着出现Bug(缺陷、错误、问题)。
当测试人员发现了Bug之后,就需要把Bug提交给开发人员进行修复。对于Bug的记录需要注意三点。首先,Bug的概要一定要清晰简洁;其次,在Bug的具体描述中,测试的步骤和使用到的具体数据都要清楚地写出来;最后,如果可以截图,一定要截图。提交给开发人员的关键信息后,开发人员需要依据这些关键信息去定位Bug的原因。另外,最后再根据软件的情况,设置处理Bug的优先级,以便开发人员合理地安排Bug修复工作。总之,提交清晰的Bug示例单是初级软件测试人员十分重要的一项工作,如果Bug示例单中的内容缺少关键步骤和具体数据等重要信息,这不仅给开发人员修复Bug带来难度,还有可能会被直接退回给测试人员并要求重新书写Bug示例单。
测试执行的主要目标是尽可能地发现产品的缺陷,而不是达到测试计划完成率。若过于关注测试计划完成率,则会导致虽然已经完成测试,但是仍不能确保产品质量。测试用例执行过程中除了关注测试进度外,还要全方位观察测试用例执行结果,加强测试过程的记录,及时确认发现的问题,及时更新测试用例,处理好与开发的关系,促进缺陷的解决。
要提高测试执行质量,要在测试过程中不仅关注测试用例的执行结果,还要注意在测试用例执行过程中出现的各类异常现象,如来自告警、日志、维护系统的异常信息。其次尽早提交缺陷报告。发现缺陷之后要尽早提交缺陷报告,避免测试结束后集中提交缺陷报告,确保开发方掌握软件质量情况并能及时解决缺陷。特别是一些可能阻碍测试的缺陷,更要第一时间反馈给软件开发方。最后要避免机械地执行用例,在测试执行中要多思考,如果发现测试用例不合理要及时补充或修改。