
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
稳定性测试是软件测试程序员在测试软件的时候需要重点关注的一个测试需求,而本文我们就通过案例分析来简单了解一下,稳定性测试常用测试方法都有哪些类型。
1、异常值输入法
异常值输入法是一种使用系统不允许用户输入的数值(即异常值)作为测试输入的可靠性测试方法。
2、故障植入法
故障植入法是把系统放在有问题的环境中进行测试的一种可靠性测试法,主要能够测试到的质量属性是容错性和成熟性。
和异常值输入法不同,异常值输入法是直接输入一个系统认为是错误的、不支持的值;而故障植入法是把系统放在有问题的环境中,但是输入依然是正常值。
用户的业务环境中,会有哪些故障、错误或问题?列出这些场景,把系统放到这些场景中,运行正常的业务,分析此时系统的反应是否合理。
如果系统被部署在用户的硬件环境中,考虑系统所需要的硬件资源,如CPU、内存、存储空间等,在出现不足的情况下,系统的反应是否合理。还是以“用户发送电子邮件”为例。网络故障对用户来说是一个常见的故障,如断网,网络时断时续、存在丢包。
果系统被安装在用户的系统中,考虑系统在软件冲突、驱动不正确等情况下,系统的反应是否合理。
如果系统是一个独立的设备,考虑它的关键器件(如机框、单板、插卡、硬盘、芯片等)出现问题时,系统的反应是否合理。
3、稳定性测试法
稳定性测试法是在一段时间里,长时间大容量运行某种业务的一种可靠性测试法,它能够非常有效地测试到系统的“成熟性”,是非常重要的一种可靠性测试法。
需要特别指出的是,稳定性测试法、压力测试法和性能测试法是存在一定关系的,这个关系纽带就是产品规格。
产品规格:产品承诺的能够处理的大容量或能力。
性能测试的目的就是测试产品真实规格是否和说明书中承诺的需求规格一致。显然,后我们实测出来的性能值,就是系统真正能够处理的大容量或者能力。
稳定性测试是在低于性能值的前提下测试的。事实上,用户在使用系统时,也不会时时刻刻让系统在极限的状态运行,在测试时,我们可以控制测试中的负载量,使其和用户的实际使用情况尽量接近,使得测试能够更为准确,更有价值。
压力测试是在高于性能值的前提下进行测试的。虽然测试时负载超过了系统能够处理的大能力,但并不等于在这种情况下系统的功能都会失效,我们需要根据实际情况来分析系统的表现是否合理。
现在让我们再回到本节的主题——稳定性测试上。从方法的角度来说,稳定性测试法是所有测试方法中为有趣的,可以总结为一个“四字诀”——多、并、复、异。
“多字诀”的要义是,在测试中通过增加用户对功能的操作数量,来测试系统的稳定性。
“并字诀”的要义是,在测试中让多个用户同时来操作这个功能,由此来测试系统是否依然稳定。有时我们也称这个测试为并发测试。
“复字诀”的要义是,在测试中让一个或多个用户,反复进行新建、刷新、删除、同步、备份之类的操作,以此来测试系统是否稳定。
“异字诀”的要义是,在测试中让一个或者多个用户,反复进行异常操作,验证系统是否能够持续做出合理的反应。与异常输入法和故障植入法相比,“异字诀”强调的是“持续”和“累积”。事实上,使用“异字诀”来测试往往还比较有效,这是因为,开发在编码的时候,容易考虑正确情况下资源的申请和回收,忽视异常情况下资源的回收。
4、压力测试法
压力测试法是在一段时间内持续使用超过系统规格的负载进行测试的一种可靠性测试方法。
尽管产品已经声明了规格,只承诺在规格范围内才能提供稳定可靠的功能,不承诺在超过系统规格的情况下还能提供正确的功能,但压力测试仍然是有意义的。一个重要的原因是,业务的突发现象——用户的业务负载并不是平均的,可能在极短的时间里,出现超过负载的情况,但是平均下来,却没有超过规格。
我们希望系统在突发的情况下不会像纸牌屋那样脆弱,而是有切实的应对措施,如不处理超过系统规格的负载、记录日志供用户分析突发原因等。不会因为突发情况导致死机、反复重启等致命问题,这才是我们进行压力测试的真正目的。
不建议用持续超过系统规格负载这样的测试方法来挖掘产品的问题。但是对测试来说,使用持续超过规格的负载模型测试也并不是完全没有意义,它是我们另外一种可靠性测试法——恢复测试法的组成部分
5、恢复测试法
恢复测试法是指使用持续超过规格的负载进行了测试后,再将负载降到规格以内的测试方法。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。