第二种“包括”: 对软件产品的需求和设计规格说明书的评审、 对程序代码的审查以及静态分析等。 将需求和设计的评审 纳入测试的范畴,可看作是广义测试。
评审是对软件元素或者项目状态的一种评估手段,以确定其是否与计划的结果保持一致,并使其得到改进。检验工作产品是否正确地满足了以往工作产品中建立的规范。
通过软件评审,可以更早地发现需求工程、软件设计等各个方面的问题,大大减少大量的后期返工,将质量成本从昂贵的后期返工转化为前期的缺陷发现。
①代码检查与走查(walk-through) ②互为评审(Peer review) ③会议评审(Inspection)
需求评审、设计评审、代码评审和文档评审
管理评审和流程评审
上承2.4.1,其中,需求的测试是重点。如图
• 需求文档编写有问题、功能不明确,流程不清晰, 不正确占50% • 余下50%是需求的遗漏造成的
写在前面: 应当对所有的需求要点分配优先级。如果把所有的需求都看作同样的重要, 那么项目管理者在开发或节省预算或调度中就丧失控制自由度。
每一项需求都必须将所要实现的功能描述清楚,以使开发人员获得设计和实现这些功能 所需的所有必要信息。
每一项需求都必须准确地陈述其要开发的功 能。
一致性是指与其它软件需求或高层(系统,业务)需求不相矛盾。
每一项需求都必须是在已知系统和环境的权能 和限制范围内可以实施的。
对所有需求说明,读者都只能有一个明确统一的 解释,由于自然语言极易导致二义性,所以尽量 把每项需求用简洁明了的用户性的语言表达出来。
需求的说明中是否对可能出现的异常进行了分析, 并且对这些异常进行了容错处理。
“必要性”可以理解为每项需求都是用来授权你 编写文档的“根源”。要使每项需求都能回溯至 某项客户的输入,如Use Case或别的来源。
每一项需求都必须将所要实现的功能描述清楚,以使开发人员获得设计和实现这些功能所需的所有必要信息。
每一项需求都必须准确地陈述其要开发的功能。
应能在每项软件需求与它的根源和设计元素、源代码、测试用例之间建立起链接链,这种可跟踪性要求每项 需求以一种结构化的,粒度好( fine-grained) 的方式编写并单独标明,而不是大段大段的叙述。
对需求进行评审之后。 以下是软件测试过程
当产品版本升级后,测试计划中的测试范围变化有哪些:
新增功能升级测试系统测试人员要使用原测试用例再测基本功能