人工测试是由测试人员手工逐步执行,所有的活动并观察每一步是否成功完成,主要包含走查、审查和正式评审。
简介
人工测试是由测试人员手工逐步执行所有的活动,并观察每一步是否成功完成。人工测试是任何测试活动的一部分,在开发初始阶段软件及其用户接口还未足够稳定时尤其有效,因为这时自动化并不能发挥显著作用。即使在开发周期很短以及自动化测试驱动的开发过程中,人工测试技术依然具有重要的作用。
重要性
人工测试的重要性在于:
①通过给定一组可重复的操作指令,可以让最终用户使用原型软件进行人工测试。
②人工测试可以使用户在早期开发阶段介入,提供有价值的反馈,避免软件不能满足真实世界的可用性需求。
③人工测试脚本使得测试人员在等待软件构造的过程中有事可做,并可以对自动化脚本进行调试。
④人工测试脚本可以作为反馈提供给开发小组,因为其中包含了导致缺陷或使用问题暴露的可重复步骤。
⑤人工测试脚本可以给开发人员提供软件如何执行用例的清晰描述。
⑥人工测试脚本如果足够详细,可以作为编写被测软件帮助文件或概述文件的基础。
分类
人工测试技术主要包含三种
静态测试技术,分别是走查、审查和正式评审。
走查
走查类似于同行评审过程,其参与者包括编程人员、测试人员、秘书以及协调人员。走查的参与者模拟计算机运行过程来生成少量的、用于人工跟踪的测试用例,其目的是质疑隐藏在源代码之后的逻辑和基本假设。走查是一种非正式评审,被查工作产品的开发者向其他相关人员描述其产品并征求意见。
走查是一种静态分析技术,由设计人员或编码人员引导开发团队或相关人员对文档或代码从头至尾进行人工检测。走查除了发现错误外,还有其他一些目标:
①揭露软件中任何形式的函数、逻辑和编码错误。
②在软件开发生命周期早期发现错误。
③确保开发过程遵循事先确定的步骤。
④在参加走查项目的各小组之间交流技术信息,并对业务不熟练的成员进行培训。
⑤提高项目的质量,增强成员的信心和士气。
⑥寻找薄弱环节或错误类型。
⑦验证软件是否满足其需求。
⑧确保软件按照其预定的标准进行开发。
⑨增强项目的可管理性。
审查
软件审查是最重要的人工测试技术之一。它是一种专家级的评审过程,用来检测和更正软件工作产品中的缺陷。通常由一个在指定开发阶段对产品进行检测的小组来执行审查。审查小组一般有4~5个成员,包括协调人或负责人、记录人、代表开发者并提供审查材料的阅读者、验证和确认人员、相关专家。
审查通常有五个阶段构成:总体规划、准备、审查、返工和追查。
审查的优点
①在一次审查中可能会发现许多不同的缺陷。而在测试中,一个缺陷可能会掩饰另一个缺陷,因此需要执行多次测试。
②软件审查可以重用领域知识与编程知识,因此评审人员可以发现那些经常出现的错误类型。
③软件审查可以对错误类别进行全面统计。
④软件审查有利于提高产品质量。
⑤软件审查对各种规模的项目都非常有效。
审查的缺点
①审查可以检查软件与规格说明之间的一致性,但无法检查软件与客户真实需求之间的一致性。
②审查不能检测非功能特征,例如性能、可用性等。
④编程人员可能会感觉审查是对其工作的个人攻击。
⑤审查是一项耗时的工作。
正式评审
正式评审在软件开发生命周期中每个阶段结束时实施,也可以在出现严重问题的时候实施。有两种类型的正式评审:管理评审和技术评审。正式评审技术(FTR)用来在开发进入下个阶段之前发现中间产品中存在的缺陷。
正式技术评审在主要开发阶段中执行,其过程包括系统需求评审(SRR)、软件规格说明评审(SSR)、初步设计评审(PDR)、关键设计评审(CDR)。
正式评审的优点
①正式技术评审为下个阶段开始前对项目进行有关变更提供了一次机会。
②由于评审的范围比较广,可以用来发现各方面的问题。
正式评审的缺点
①如果参与者事先没有获得有关资料并花时间准备,正式技术评审将很难取得良好的效果。
②正式技术评审大多关注一些主要的问题,而使一些小的技术问题逃过评审。