浅谈需求测试
作者:网络转载 发布时间:[ 2011/4/19 10:06:20 ] 推荐标签:
软件测试V模型需求我们在需求阶段开始制定系统测试的计划,开始考虑系统测试的方法。但这还不是足够的。全方面的质量管理需求我们在每个阶段都要进行验证和确认的过程。因此在需求阶段我们还需要对需求本身进行测试。这个测试是必要的,因为在许多失败的项目中,7 0 %~8 5 %的返工是由于需求方面的错误所导致的。并且因为需求的缘故而导致大量的返工,造成进度延迟、缺陷的发散,这是一件及其痛苦的事情。因此我们需求在项目的源头(需求)开始测试。这类测试更多的还只是静态手工方面的测试,当然也有一些自动化的工具,但这些工具会需求我们按照某个固定的格式进行需求的表述(例如形式化的方法),因此在适用性上会受到限制。通过静态手工方法进行需求测试中常使用的手段是同行评审。
通过评审来测试需求
同行评审是业界公认的有效的排错手段之一。我们在需求测试过程当中,使用多的也是同行评审(Peer Review),尤其是正规检视(Inspection)。正规检视是由Michael Fagan 在I B M 制定出来的一种非常严格的评审过程。
需求评审的参和者当中,必须要有用户或用户代表参和,同时还需要包括项目的管理者,系统工程师和相关研发人员、测试人员、市场人员、维护人员等。在项目开始之初应当确定不同级别、不同类型的评审必须要有哪些人员的参和,否则,评审可能会遗漏掉某些人员的意见,导致今后不同程度的返工。
好的需求应当具有的特点
一个良好的需求应当具有一下特点:
完整性:每一项需求都必须将所要实现的功能描述清晰,以使研发人员获得设计和实现这些功能所需的所有必要信息。
正确性:每一项需求都必须准确地陈述其要研发的功能。
一致性:一致性是指和其他软件需求或高层(系统,业务)需求不相矛盾。
可行性:每一项需求都必须是在已知系统和环境的权能和限制范围内能实施的。
无二义性:对所有需求说明的读者都只能有一个明确统一的解释,由于自然语言极易导致二义性,所以尽量把每项需求用简洁明了的用户性的语言表达出来。
健壮性:需求的说明中是否对可能出现的异常进行了分析,并且对这些异常进行了容错处理。
必要性:“必要性”能理解为每项需求都是用来授权你编写文件的“根源”。要使每项需求都能回溯至某项客户的输入,如Use Case或别的来源。
可测试性:每项需求都能通过设计测试用例或其他的验证方法来进行测试。
可修改性:每项需求只应在S R S 中出现一次。这样更改时易于保持一致性。另外,使用目录表、索引和相互参照列表方法将使软件需求规格说明书更容易修改。
可跟踪性:应能在每项软件需求和他的根源和设计元素、原始码、测试用例之间建立起链接链,这种可跟踪性需求每项需求以一种结构化的,粒度好(f i n e - g r a i n e d )的方式编写并独立标明,而不是大段大段的叙述。
另外应当对所有的需求分配优先级。如果把所有的需求都看作同样的重要,那么项目管理者在研发或节省预算或调度中丧失控制自由度
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11