作业帮 > 综合 > 作业

软件测试的主要工作内容是什么?

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/14 23:28:43
软件测试的主要工作内容是什么?
软件测试的主要工作内容是什么?
不论是对软件的模块还是整个系统,总有共同的内容要测试,如正确性测试,容错性测试,性能与效率测试,易用性测试,文档测试等.“白盒测试”是指开发人员从程序内部对上述内容进行测试,而“黑盒测试”是指独立的测试人员从程序外部对上述内容进行测试.
1 正确性测试
正确性测试又称功能测试,它检查软件的功能是否符合规格说明.由于正确性是软件最重要的质量因素,所以其测试也最重要.
基本的方法是构造一些合理输入,检查是否得到期望的输出.这是一种枚举方法.倘若枚举空间是无限的,那可惨了,还不如回家种土豆有盼头.测试人员一定要设法减少枚举的次数,否则没好日子过.关键在于寻找等价区间,因为在等价区间中,只需用任意值测试一次即可.等价区间的概念可表述如下:
记(A,B)是命题f(x) 的一个等价区间,在(A,B)中任意取x1进行测试.
如果f (x1) 错误,那么f (x) 在整个(A,B)区间都将出错.
如果f (x1) 正确,那么f (x) 在整个(A,B)区间都将正确.
上述测试方法称为等价测试,来源于人们的直觉与经验,可令测试事半功倍.
还有一种有效的测试方法是边界值测试.即采用定义域或者等价区间的边界值进行测试.因为程序员容易疏忽边界情况,程序也“喜欢”在边界值处出错.
例如测试 的一段程序.凭直觉等价区间应是(0,1)和(1,+∞).可取x=0.5以及x=2.0进行等价测试.再取 x=0以及x=1进行边界值测试.
有一些复杂的程序,我们难以凭直觉与经验找到等价区间和边界值,这时枚举测试就相当有难度.
在用“白盒测试”方式进行正确性测试时,有个额外的好处:如果测试发现了错误,测试者(开发人员)马上就能修改错误.越早改正错误,付出的代价就越低.所以大多数软件公司要求程序员在写完程序时,马上执行基于单步跟踪的“白盒测试”.
2 容错性测试
容错性测试是检查软件在异常条件下的行为.容错性好的软件能确保系统不发生无法意料的事故.
比较温柔的容错性测试通常构造一些不合理的输入来引诱软件出错,例如:
(1)输入错误的数据类型,如“猴”年“马”月.
(2)输入定义域之外的数值,上海人常说的“十三点”也算一种.
粗暴一些的容错性测试俗称“大猩猩”测试,除了不能拳打脚踢嘴咬,什么招术都可以使出来.这里我举不出例子,因为我没有对程序粗暴过,并且这辈子也不打算学会粗暴.
3 性能与效率测试
性能与效率测试主要是测试软件的运行速度和对资源的利用率.有时人们关心测试的“绝对值”,如数据送输速率是每秒多少比特.有时人们关心测试的“相对值”,如某个软件比另一个软件快多少倍.
在获取测试的“绝对值”时,我们要充分考虑并记录运行环境对测试的影响.例如计算机主频,总线结构和外部设备都可能影响软件的运行速度;若与多个计算机共享资源,软件运行可能慢得像蜗牛爬行.
在获取测试的“相对值”时,我们要确保被测试的几个软件运行于完全一致的环境中.硬件环境的一致性比较容易做到(用同一台计算机即可).但软件环境的因素较多,除了操作系统,程序设计语言和编译系统对软件的性能也会产生较大的影响.如果是比较几个算法的性能,就要求编程语言和编译器也完全一致.
性能与效率测试中很重要的一项是极限测试,因为很多软件系统会在极限测试中崩溃.例如,连续不停地向服务器发请求,测试服务器是否会陷入死锁状态不能自拔;给程序输入特别大的数据,看看它是否吃得消.
4 易用性测试
易用性测试没有一个量化的指标,主观性较强.调查表明,当用户不理解软件中的某个特性时,大多数人首先会向同事、朋友请教.要是再不起作用,就向产品支持部门打电话.只有30%的用户会查阅用户手册.[Cusumano 1995]
一般认为,如果用户不翻阅手册就能使用软件,那么表明这个软件具有较好的易用性.
5 文档测试
文档测试主要检查文档的正确性、完备性和可理解性.好多人甚至不知道文档是软件的一个组成部分.
正确性是指不要把软件的功能和操作写错,也不允许文档内容前后矛盾.
完备性是指文档不可以“虎头蛇尾”,更不许漏掉关键内容.有些学生在证明数学题时,喜欢用“显然”两字蒙混过关.文档中很多内容对开发者可能是“显然”的,但对用户而言不见得都是“显然”的.
文档不可以写成散文、诗歌或者侦探、言情小说,要让大众用户看得懂,能理解.
很多程序员能编写出好程序,却写不出清晰的文档.不要说自己以前语文学得差,现在已没救了,找借口不是办法.没有人天生就能写出好程序,都是练出来的.同理,若第一次写不好文档,就多写几次文档,慢慢地就会写出好文档来.我上大学前不会说普通话,不会写作文,现在我极能说会写,当个秘书或书记已绰绰有余.