background image

识别测试需求是软件测试的第一步。如果开发人员能够提供完整的需求文档和接口文档,那
固然好。可以根据需求文档中描述的每个功能项目的输入、处理过程和输出,来设计测试用

 

例。如果开发人员没有提供软件需求文档,那该如何是好?下面给出几个有效的方法:

•  

 

主动获取需求

开发人员通常不会更好地考虑软件测试,如果没有开发流程的强制规定,他们通常是不愿
意提供任何开发文档,即便有强制规定,需求文档也未必能够真正指导软件系统测试工作。
因此,需要测试人员发挥主观能动性,与相关的软件开发项目经理和软件开发人员保持沟
通,了解软件实现的主要功能是什么,并记录得收集到的信息。一般来说,开发人员即便没
有提供相关需求文档,也会保存一些简单的过程文档,主动向开发人员索要这些文档,可
以作为测试的参考。此外,可以与公司的技术支持人员交流,技术支持人员是最贴近用户的

 

人,因此,通过交流可以获取第一手的用户使用感受,在测试的过程中会更加贴近用户。

当拿到相关的资料后,从哪些方面分析需求?如何与开发人员交流需求?其实,只要把握
需求分析的几个关键的点就可以解决问题:输入、处理过程、输出、性能要求、运行环境,下

 

面针对每一个项目逐一分析:

 

软件输入: 与该需求相关的一切可能输入,可以从这几方面考虑,输入来源、输入参数的
数量、输入参数的度量单位、输入参数的时间要求、输入参数的精度和输入参数的有效输入范

 

围。在测试用例设计中,这部分内容作为测试用例输入的依据。

 

处理过程: 描述对输入数据所执行的所有操作和如何获得输出的过程。测试人员了解处理

 

过程即可,在测试过程中发现

BUG 时候,如果对处理过程了解的深入,对定位问题根源

 

有很大的帮助。

 

软件输出: 描述每个需求的输出结果,包括输出的位置(如计算机显示器、打印机,文
件),输出参数的数量、输出参数的度量单位、输出参数的时序、输出参数精确度、输出参数

 

的有效输出范围、错误消息。在测试用例设计中,这部分内容作为测试用例的预期输出。

 

 “ 

 

性能要求: 与该需求相关的性能要求,比如

插入

ATM 

 

取款卡后,

3 秒钟内弹出提示用

 ”   

户取款的图形界面

 

秒钟这一限制,就是对需求的基本性能要求。

 

运行环境: 软件的运行所需的环境,包括硬件平台的要求、操作系统的要求、数据库的要求,

 

以及其它相关支撑软件的要求。

•  

 

确认需求的优先级

确认需求的优先级是很必要的,如果在产品进度比较紧的情况下,测试人员可以考虑优先
测试优先级高的需求项,如果进度允许,那么在测试优先级低的需求项,如果进度不允许,
那么就放弃测试优先级低的需求项。如果软件公司有规范的流程支撑,开发人员在提供软件
需求文档的时候,应该在文档中确定需求的优先级。但是,如果开发人员连基本的软件需求
文档都没有提供,又怎能指望他们确定软件需求的优先级?如果是这样,需求的优先级只