0·.ANSI/IEEE 830一‘t949:软件焉目£说壤1·。ANSI/IEEE 830一.1998:软件符求说明的推荐实践
I·IEEE标准1362—1998:(结合圆旺标准13妇a一1998)IEEE信息技 术——系统定义—操作概念』cx,qts)文档指南
前两条是软件工程师要遵循的需求说明的搜术标准,第三条是从用户角度出发定义软件需求。从共矛姑;定义驯试需求、遵升驯越擞捂
对于测试需求存在的意见主要集中在两方面,这在本章之前已提到过。为了尽量满足这两方面的意见,提出用于明确测试噩查鲢拯迮友鎏花了很长时间。这一方法规定了把鞑l生墨瘩萎控盘测试曼垄塑璺塞:且使此过程是可重复的(c'MM 2)。尽管ANSI/IEEE标准有一定作用,但Gerra]一坚持认为大多数需求文,档通常是“组织混乱、不完整、不准确、不一致”的[9]。他还认为大多数文档记录的需求是“不可测试的”,因为这些需求采用的形式不恰当,不是“测试人员”所期望的,对于测试人员来说这些形式是很难理解和测试的。这就需要测试工程师自己把那些需求转换为可测试的需求。
目前投有标准的文件指导软件测试的需求说明(或指导如何对已有的软件需求说明进行转换)。把已有的软件需求说明细化为软件测试需求是很困难的。为了正确测试软件组件,测试工程师必有非常细致和非常明确的信息。当然,的级别和方法(黑盒、灰盒、白盒等软件测试方法);这些概念的详细说明和和应用可参看[14、15、16]。勖试需求实质上依赖于测试工程师的观点。制试工程师的观点也取决于软件需求说明包含的级别深度和细节。因此,从囊盒与白盒角度明确测试需求是可能的。
在许多情况下,没有可以转换为测试需求的软件需求说明。如果是这样,测试工程师就有两个选择。=登直法是试羞宜昌壅堡型堇置垄,另一种方法就是告诉项目经理无法测试软件,因为没有测试需求文档。但是,在现实的世界中,许多软件需求说明书是在软件构建完成后才编写的。如果是这样,在测试开始之前或测试过程中,测试工程师必须自己找出测试需求。
为什么测试需求对于测试过程如此重要?首先,测试需求是必须的,因为测试工程师要预测测试所期望的结果。Myers在他的倾力之作《软件测试的艺术》(《t}le art of software t哪i曲)中对此做了恰当的表述:“没有期静}没有惊喜。”[16]Mye璐的意思是说如果认为软件所做的事是不正确的,那么在这之前就要对软件的行为有一些认识。他还写道:“如果测试用例的预期结果没有被预先定义,那么有种情况就会出现,这种情况就是一个似是而非的结果(不一定是错误的)就会被当作正确的结果。因为我们的眼睛看到了我们想要看到的东西。”没有测试需求,就没有办法预先定义软件的预期行为。
其次,除非预先定义了应用程序的行为集合,否则不能进行测试结果的验证。这是因为测试工程师必须验证每一个测试的结果。仅仅知道期望什么样的结果是不够的,所以我们必须捕获AUT的实际行为,把这些行为与所期望的行为进行比较,所期望的行为是基于软件需求说明定义的。没有预先指明测试需求,是没有办法做预测和验证的。这是软件开发经理要考虑的一个主要问题,他们需要知道测试结果是如何被验证的,他们想看测试结果的书面证明。验证测试结果有许多法。例如,只观察Aur的行为就足够了,但是开发经理需要更多的证据。在这些方面测试需求起着至关重要的作用。 。
测试需求就是测试目标。逮就是当执行专门的测试时,测试工程师想要完成的任务。除此之外,反映软件需求说明中定义的Aur特征也是测试需求的目标。测试需求是软件需求的下一个步骤,因这它必须能够被证明所以它必须是可测量的(m唧tab‘le)。“可测量”是指测试工程师能根据测试需求所期望的结果定性或定量验证实际的铡试结果。为了达到这个目的t测试需求必须被进一步细化为测试用例需求。这些低级别需求包括了比软件需求和高级别测试需求更基本的细节。测试用例需求描述了具体的测试条件,在这些细节中,从每个测试用例需求到实际执行的每个测试数据记录有着直接的关系。软件需求与测试需求有如下关系:一对一(一个测试需求对应一个软件需求)、1对多(一个软件需束对应多个测试需求)、多对一(一个以上软件需求对应一个测试需求k·与此相类似,测试用例需求与测试需求有如下关系:一对一(一个测试条件对一个测试需求)、一对多(一个测试需求有许多测试条件从而有多个测试用例需求)、多对一(一个以上测试用例需求对应一个测试条件)。j在彳赓多情况下,也可能出现多对多关系,这种关系使测试很复杂,得出的结果也很难解释,所以应避免出现这种关系。如果遇到这种情况,考虑使甩分解的办法,把测试需求分解成一个或多个不太复杂的测试需求。
测试需求也必须与手工或自动化脚本榴结合。例如,一个测试需求可能产生50个测试条件,这些条件说明了基本测试数据灼功能的变化。那些测试数据以测试数据记录的形式保存在文本文件中。自动化测试(数据驱动测试)脚本可以为AUT导航和读取数据,4捕詹把每个数据记录插入到合适的GuI屏幕中,Aur把记录存放到数据库。为了保证测试覆盖度量,给测试需求附加上测试脚本是很重要的。
文章来源于领测软件测试网 https://www.ltesting.net/