软件测试评估

更新时间:2022-10-17 04:22:41 阅读: 评论:0

内容简介

每个人都承认代码审查的花销大,而且又耗时,特别是当大家忙完成软件项目又把它送去软件测试部门时。对一些开发人员来说,它更是会引发更多的办公室政治和流言蜚语。

一次代码审查可能会使代码逐渐得到改进。如果你认为你从有效的代码审查中只是稍微改进了一下软件,那你需要再想一想。以下五点易忽视的原因会给你些许启发。

软件测试方法

黑盒测试

黑盒测试顾名思义就是将被测系统看成一个黑盒,从外界取得输入,然后再输出。整个测试基于需求文档,看是否能满足需求文档中的所有要求。黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,它适用于对系统的功能进行测试。

黑盒测试的优点有:

1)比较简单,不需要了解程序内部的代码及实现;

2)与软件的内部实现无关;

3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;

4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;

5)在做软件自动化测试时较为方便。

黑盒测试的缺点有:

1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;

2)自动化测试的复用性较低。

白盒测试

白盒测试是指在测试时能够了解被测对象的结构,可以查阅被测代码内容的测试工作。它需要知道程序内部的设计结构及具体的代码实现,并以此为基础来设计测试用例。如下例程序代码:

hresult play( char* pszfilename )

{

if ( null == pszfilename )

return;

if ( state_opened == currentstate )

{

playthefile();

}

return;}

读了代码之后可以知道,先要检查一个字符串是否为空,然后再根据播放器当前的状态来执行相应的动作。可以这样设计一些测试用例:比如字符串(文件)为空的话会出现什么情况;如果此时播放器的状态是文件刚打开,会是什么情况;如果文件已经在播放,再调用这个函数会是什么情况。也就是说,根据播放器内部状态的不同,可以设计很多不同的测试用例。这些是在纯粹做黑盒测试时不一定能做到的事情。

白盒测试的直接好处就是知道所设计的测试用例在代码级上哪些地方被忽略掉,它的优点是帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。

白盒测试的缺点有:

1)程序运行会有很多不同的路径,不可能测试所有的运行路径;

2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可 能会漏掉一些功能需求;

3)系统庞大时,测试开销会非常大。

基于风险测试

基于风险的测试是指评估测试的优先级,先做高优先级的测试,如果时间或精力不够,低优先级的测试可以暂时先不做。有如下一个图,横轴代表影响,竖轴代表概率,根据一个软件的特点来确定:如果一个功能出了问题,它对整个产品的影响有多大,这个功能出问题的概率有多大?如果出问题的概率很大,出了问题对整个产品的影响也很大,那么在测试时就一定要覆盖到。对于一个用户很少用到的功能,出问题的概率很小,就算出了问题的影响也不是很大,那么如果时间比较紧的话,就可以考虑不测试。

基于风险测试的两个决定因素就是:该功能出问题对用户的影响有多大,出问题的概率有多大。其它一些影响因素还有复杂性、可用性、依赖性、可修改性等。测试人员主要根据事情的轻重缓急来决定测试工作的重点。

基于模型测试

模型实际上就是用语言把一个系统的行为描述出来,定义出它可能的各种状态,以及它们之间的转换关系,即状态转换图。模型是系统的抽象。基于模型的测试是利用模型来生成相应的测试用例,然后根据实际结果和原先预想的结果的差异来测试系统。

相关信息

1. 开发人员若得知他们的代码会被测试评估,他们会更加努力工作。

对代码审查最有用的是让编码人知道他编写的代码会被审查。这就像一次内容为400级运算的期末考试。参加考试与否并不重要,因为考试的目的是学会运算。

这个道理也适用于代码审查。计算机程序员对自己编写的代码总是相当自信。程序员之所以熬夜工作,是因为他们真正热爱自己的其工作,而不是出于金钱或其他目的。因此,代码审查可以直接影响开发人员的成就感。

编码人不希望有任何针对他代码的批评,所以一旦知道代码将被审查,就会采取额外的努力做好工作。实际上,代码审查通常不能发现什么的。但是,如果知道有人要审查编码,那么在编辑过程中程序员就会尽可能做好。

2. 软件测试评估可以改进开发人员的编程技术

在你的心里,你可能不会太在意某一特定软件项目的成功。但是,大多数程序员想要改善他们的技术,这意味着向其他人学习。没有比代码审查更好的学习机会了。

例如,从一个优秀的开发人员的编码中,你能更清楚地了解编程语言可以做什么,你将学会编写更有效的代码,并找到更多可用于组织代码的模式。

代码审查能帮助团队成员从彼此的错误中汲取经验,并成为更好的程序员。通过简单的反馈意见,公司可以提高了其开发员的水平。开发员重视审查,因为他们知道这将帮助他们成长。当代码审查以小组为单位进行时,整个团队都得以提高。但更好的是,代码质量也得到提升,并易于维护。

3. 软件测试评估有利于导师制度,程序员们会学到更多

代码审查有助于培训新的开发人员并使他们熟悉其他同类模块。审查过程有助于促进思想交流,使代码可重复利用。

代码审查有一个系统的方法,可以为程序员分享团队领导们的经验提供平台。当领导重写某些程序,使程序运行效率在3分钟内提升50倍时,是十分令人振奋的事情!编写其他程序时,你或许就可以找到一些新的方法或创造一种新的解决方案了。

4. 软件测试评估可以实现优质文化的传承

代码审查的目的是提供巨大的机会。代码审查让代码库和编码团队都有机会发展一种连贯性和可靠性。它把有经验和专业知识的团队作为整体加以利用,程序员可以磨炼他们的专业技能和经验,同时以他们的经验和专业知识为公司和团队服务。这使该公司的投资得到有形的回报:愉悦的程序员以及工作代码的能力和一致性不断获得提升。

代码审查有助于创造一种微妙的变化,因此,管理好和做好代码审查可以很大程度上改善软件质量。开发人员会对审查中有出错的数据的判定迅速给出抱怨,但我们必须改变规则,要将优质高效发展作为衡量过程的尺度而不仅是价值传递的里程碑。

5. 软件测试评估可以激发团队凝聚力

人们认为代码审查仅仅是寻找漏洞,但它却能把人团结在一起,它可以提供的远远超过你所预期的。

又很多这样的例子在执行代码审查时发生,但是最好的成功模式是在一个团队成形时就开展审查。你从事某个项目的时间越长,所创建的代码质量就越好。这是因为所有的代码审查过程和管理在项目开始时就开始了。

6.软件测试行业就业前景很好。

本文发布于:2022-10-17 04:22:41,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/78/302401.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:软件测试工具
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图