基于故障模型的软件测试
- 格式:pdf
- 大小:154.28 KB
- 文档页数:16
基于故障注入的应用软件可靠性测试姜文;刘立康【摘要】随着计算机技术的发展, 云计算技术在各行各业的应用普及, 基于云计算的应用软件的种类也越来越多.基于云环境的软件可靠性测试有许多问题和技术需要研究和探讨.在可靠性测试技术中, 故障注入技术应用十分广泛.结合一个云化通讯软件实例叙述了采用故障注入技术在云环境开展可靠性测试工作的全过程.叙述了可靠性测试过程以及各个角色在测试过程中的职责和任务;叙述了云环境的层级结构、私有云环境的部署和软件产品的安装;叙述了云环境中故障注入方法和可靠性测试环境的构建;详细叙述了该软件实例的测试用例设计、可靠性测试流程和编写自动化测试脚本;最后给出了测试结果分析.工作实践表明, 做好软件可靠性测试工作可以提高软件产品的质量, 提高上线后软件产品的可靠性, 从而更好地满足客户对软件产品的需求.%With the development of computer technology, cloud computing technology is widely used in all walks of life, and there are more and more kinds of cloud-based application software.Software reliability testing based on cloud environment has many problems and technologies needed to be studied and discussed.Fault injection technology is widely used in reliability testing.The whole process of reliability test in cloud environment using fault injection technology is described with an example of cloud-based communication software.We describe the process of reliability testing and the duties and tasks of characters in the testing process;describe the hierarchy of the cloud environment, the deployment of private cloud and the installation of software products;describe the fault injection method in cloudenvironment and the reliability test environment construction;describe the software instance of test case design, reliability, test process and writing automation test scripts in detail.The test analysis is also given atlast.Practice shows that doing well in software reliability test can improve the quality of software products and the reliability of the software product after launch, better meeting customer demand for software products.【期刊名称】《计算机技术与发展》【年(卷),期】2019(029)002【总页数】6页(P23-28)【关键词】可靠性;故障注入;可靠性测试;云环境;容错能力【作者】姜文;刘立康【作者单位】西安电子科技大学通信工程学院, 陕西西安 710071;西安电子科技大学通信工程学院, 陕西西安 710071【正文语种】中文【中图分类】TP311.50 引言随着计算机技术的发展,云计算技术在各行各业的应用普及,基于云计算的应用软件的种类也越来越多。
SYS PRACTICE 系统实践摘要:软件产品的缺陷可通过软件测试发现,软件测试直接影响软件质量,为更好开展软件测试,必须设法满足软件产品质量与测试过程的定量度量与预测需求。
基于此,论文将围绕基于模型的软件质量与测试过程评估开展研究,模型参数估计采用非线性回归最小二乘法,以此定量预估软件产品质量和测试过程,为测试活动的更好开展提供支持。
关键词:Gompertz模型;软件质量;软件测试;软件缺陷;过程评估一、研究思路结合相关研究和实践可以了解到,软件测试的最终目的是通过有限的物力、人力,高质量、高效率的完成测试。
对于软件测试来说,过度的测试将引发资源浪费问题,而不充分的测试则会引发很多问题。
如软件测试不足,软件隐藏错误催生的风险将由用户承担,如过度开展软件测试,很多宝贵的资源则会浪费。
因此,在软件测试的实践中,必须把握好软件测试的尺度,这种尺度的掌握需得到科学定义的定量描述工具支持,以此保证软件产品经理能够做出正确判断。
为实现软件测试尺度的定量描述,国内外相关学者开展大量研究,如基于软件缺陷进行度量、基于软件过程能力度指数控制图进行度量、基于软件缺陷状态跟踪图进行度量,但这类研究多围绕测试数据的定性判断展开,缺乏定量层面的研究。
因此,本文基于已有的测试数据,采用模型,定量分析和预测软件测试过程,以此定量评估软件产品质量,为测试任务是否应结束提供科学的判断依据[1]。
二、建模机理结合日常的软件测试实践进行分析可以发现,在软件测试的初始环节,由于不熟悉测试环境,测试人员一般仅开展基本功能测试,这种情况下软件测试日均发现的缺陷数减少,软件缺陷数增长在这一环节也较为缓慢。
随着逐渐进入状态,测试人员可实现对测试环境的熟练掌握,受不断增多的日均发现软件缺陷数影响,存在增长速度迅速加快的发现软件缺陷数。
随着软件测试的不断推进,受隐藏加深的软件缺陷影响,难度加大的测试使得一个缺陷发现需要执行较多的测试用例,这一过程中虽然缺陷数仍属于增长状态,但增长速度极慢,而对于有限的软件中隐藏缺陷来说,发现缺陷数的无限增长也会在这种情况下受到限制。
基于模型的软件可靠性研究随着计算机技术的不断发展,软件已经成为了现代人们生活和工作中必不可少的一部分。
然而,随着软件规模的不断扩大,软件可靠性问题也变得越来越重要。
因此,研究基于模型的软件可靠性研究成为了当前重要的研究方向。
一、软件可靠性的概念软件可靠性是指软件在特定的条件下,能够执行其规定的功能,而不出现故障,并在规定的时间内为用户提供正确的结果的能力。
软件可靠性与软件质量密切相关,也是软件质量的重要组成部分。
二、基于模型的软件可靠性研究方法基于模型的软件可靠性研究方法是一种比较常用的软件可靠性研究方法,其本质是建立数学模型,通过分析模型,预测软件在实际使用过程中的可靠性。
目前,基于模型的软件可靠性研究方法包括三种主要方法:可靠性建模法、可靠性测试法和可靠性分析法。
1、可靠性建模法可靠性建模法是一种通过建立可靠性模型来预测软件可靠性的方法。
可靠性模型可以是概率模型、统计模型或者物理模型等。
其中,概率模型是一种用于计算软件可靠性的常用模型,其基本思想是将软件可靠性问题转化为概率问题,通过计算概率来预测软件可靠性。
2、可靠性测试法可靠性测试法是一种通过执行一系列测试用例来评估软件可靠性的方法。
可靠性测试法主要包括两种方法:基于故障注入的可靠性测试和基于负载的可靠性测试。
其中,基于故障注入的可靠性测试是一种在软件中人为地注入故障,然后通过对故障进行分析,评估软件可靠性的方法。
基于负载的可靠性测试是一种在不同的负载条件下测试软件的可靠性,并通过负载试验结果预测软件在不同负载下的可靠性。
3、可靠性分析法可靠性分析法是一种通过数据分析来预测软件可靠性的方法。
可靠性分析法主要包括两种方法:失效率分析法和故障树分析法。
失效率分析法是一种用于分析软件失效率的方法,其基本思想是通过对软件运行时的失效率进行统计分析,从而评估软件的可靠性。
故障树分析法是一种用于分析软件故障的方法,其基本思想是将软件故障看作是故障树的叶子节点,通过对故障树进行分析,找出造成软件故障的根本原因,最终评估软件的可靠性。
功能测试软件故障模型1 1.理解故障模型测试的目标就是要发现错误,因此在编写测试用例的时候也要遵循这个目标,尽量在软件的最薄弱环节多编写测试用例。
接下来介绍什么是软件的薄弱环节,缺陷一般隐藏在什么地方,如何有效地找出这些缺陷。
优秀的软件测试人员可以很快地找到解决办法。
虽然测试时有很多单个输入变量、多个输入变量的组合,但是优秀的软件测试人员不会依靠运气,他们有着丰富的经验和直觉,可以从中找到哪些是要进行测试的,哪些不需要测试,那些操作可能会引起软件失效。
把这些测试人员的经验和直觉尽量归纳和固化,以形成一些故障模型fault model。
2.常见功能性测试故障模型1输入非法数据a.如何发现错误输入类型:键入无效的类型常会产生错误信息。
例如必须输入整型,而输入了实型或字符型。
输入长度:对于字符型,键入太多的字符常会引出错误信息。
边界值:输入边界值或超过边界值的数据,例如,边界值为4,可以输入4及4以上的数值。
b.方法小结应用场合:GUI的输入测试方法:分别从输入数据的类型、输入数据的长度、输入数据的边界值等方面进行考虑。
测试信息的检查:除了考虑输入非法数据,还要留意错误信息本身,特别注意以下几点:错误信息和错误要一致,防止A的错误提示显示给了错误B,B的错误提示信息给了错误C。
错误信息的内容是空,用户不知道为什么出错。
显示的错误信息是给开发人员调试使用的,例如Error 5-unknown data,开发人员可以通过该提示信息很容易地找到错误类型,但是用户根本不明白,不知道做错了什么。
测试知识储备:牢记基本数据类型的边界值。
2输入默认值a.如何发现错误查找选项按钮、配置面板、安装屏幕等。
这种屏幕上显示的数据常在应用程序的许多地方用到。
查阅源代码的数据声明部分如果可以得到。
确定了要测试的数据,可以通过以下操作来强制使用或不使用默认值:接受软件显示的默认值。
有时软件需要用户输入一个值,如果没有输入任何值,软件就可能失效。
基于故障模型的嵌入式软件缺陷分类研究摘要:针对嵌入式软件的特点,通过对现有一些软件缺陷分类方法进行研究分析,本文提出了一种基于故障模型的缺陷分类方法,这种方法在软件测试中能有效的发现一些极易疏忽的软件故障。
关键词:嵌入式;软件缺陷;故障模型;缺陷分类中图分类号:tp311.52 文献标识码:a文章编号:1007-9599 (2011) 24-0000-01embedded software defect classification study based on fault modelyou wenlin(302 design and research institute,guiyang550009,china) abstract:aiming at the characteristics of embedded software,based on existing software defect classification method to carry on the research analysis,this paper presents a method based on fault model of the defect classification method,this method in software testing can effectively find some very easy to neglect software fault.keywords:embedded;software defect;fault model;defect classification一、引言在嵌入式领域目标系统的应用系统日益复杂,开发技术日新月异,同时硬件发展的日益稳定,而软件缺陷问题却日益突出,软件的重要性逐渐引起人们的重视,越来越多的人认识到嵌入式系统的测试势在必行。
但由于嵌入式系统具有实时性、内存不丰富、i/o 通道少,cpu种类繁多等特点,相对非嵌入式软件开发和策略有很大不同,测试更复杂。