软件测试

来源:互联网 发布:淘宝官网网页版 编辑:程序博客网 时间:2024/06/04 20:12

一: 前言

   学期学习已末,对软件测试进行自我认知的总结,浅谈自我看法。自己是从三大方面进行学习。通俗而简单的话来讲,软件测试怎么来的,运用它能解决什么问题怎么解决

测试怎么产生的,编过程的或许都知道,为了实现某些功能编写代码的人,会遇到自己发现不了的问题,或者编者编者就跑偏了,为了使我们发布的项目与我们所预期的需求尽力吻合,需要不断的检测所形成的一门有系统的学科,来使产品真正带给人类效益。你好大家都好。当然百度上面有详细并概括度极高的定义,有时候人们对同一句话的理解,有不同的认识,文字尽力做到无冗余且易懂。

   运用测试解决了什么问题,发现代码的错误,来衡量软件的质量性能,与我们预期的目标是否一致进行评估,就像每种食物的生产到人类的食用,需要ISO审核员不断质检一样,首先公司生产所认为好吃且能吃的食物,这时候不知道从哪来了一些秘密人物,来判断食物好吃么?能吃么?为什么不好吃?哪点不好吃?还能再好吃么?这一组人要保证最终大部分顾客吃到乐呵呵的,与公司所要达到的目的一致甚至超过预期,最终还是让大家都好了。当然网上有很多测试能解决什么细节性问题,但对一些未曾经历过的事情,感同身受都不太容易,那何况这些经验变成了文字,而学习者需要完全理解写文字的人所传达的意思,并将文字转变成自己的经验,从而将事情做舒服了。那写文字的人,岂不是就需要不断的检查,怎样精炼组织自己的语言。这样想事情似乎都是相通的。

    前两者问题的铺垫,所引出来的是主轴问题,它们总是相辅相成。其实我们也能够发现,如果注重怎么做却较少的关注怎么来,容易在学习上迷失与盲目;若只关注它的产生且不去理解怎么用,可以称为知之而不行,虽敦必困;不学以致用,又如何知行合一。那该怎么做才能完成软件测试所要完成的任务。任何的学科都是前辈们一点点经验积累所致,有时候用一些非自己总结发现的经验解决问题,总少了一些深刻的认识。所以若想学的更深刻便只能将知识点跑起来。对‘跑’,静止的文字形成动态的行为。目的更好的学习理解不同的思维。从而理解更多不同的事情。既然说服了自身要去学习这些知识之后,当然要关注怎么去系统的有效的学习前辈果实。知识的海洋博大精深,有前辈有我们。

二: 内容概括

   软件质量的保证是软件测试的重要内容,伴随软件规模扩大,复杂度在一定程度上有所提高,以及运用面向对象程序色合计方法和工具的频繁使用,势必给测试上面提升了一定难度,软件质量的度量也提升了难度,测试有两个显著目标:找出失效,或者演示正确的执行。测试任意在软件开发过程中任务:寻找Bug, 避免软件开发过程中的缺陷,衡量软件的品质,关注用户的需求。总目标:确保软件质量。

   测试用例:具体细化,测试本质是针对特定内容来确定一组测试用例。由于测试用例的输出部分的确定往往很困难。这就需要测试活动建立必要的前提条件,提供测试用例输入,观察输出,然后将这些输出与预期的输出进行比较,来确定测试是否通过。所以测试用例所应包含的信息有:前提与某种方法锁标识的实际输入。测试用例需要被开发、评审、使用、管理和保存。其中测试用例的基本格式百度文库中很详细,不累赘叙。

   在测试用例执行过程中,每个测试用例对测试环境有这特殊的要求,或者对测试环境有特殊影响,因此,定义测试用例执行顺序,对测试执行效率影响非常大。比如某些异常测试用例会导致服务器频繁重新启动,服务器每次启动消耗很多功,最终导致整体效率下降,影响心情,根据天时地利来合理的安排测试用例的执行顺序是很有必要的。

   在测试执行中因注意一些问题:测试环境的搭建是第一步,并提交产品安装指导书,指导书中详细说明产品运行的软硬件环境。全方位的观察测试用例执行的结果,加强测试记录过程,及时确认发现问题,与开发人员良好的沟通并及时更新测试用例。不要打算在测试执行结束后,统一更新测试用例,若是这样,往往会遗漏很多本应更新的测试用例。

   测试结果分析:这一步是必不可少的缓解,测试结果分析对下一轮测试工作开展做很好的铺垫,对自己发现的软件缺陷分类,总结自己提交问题也只有固定的几个类别,然后,再把一起完成测试执行工作的其他测试人员发现的问题也汇总起来,总结不同。有效的进行自我分析和分析其他测试人缘。发现盲区,避免下一个盲区。

   测试方法:功能性测试和结构性测试,这两种方法可以用来标识测试用例。

   功能性测试之黑盒测试:等价类划分是一种重要且常用的黑盒测试用例设计方法,是把所以可能的输入数据,划分若干个部分,从每个部分选出具有代表性的数据做测试。等价类划分为:有效等价类和无效等价类;其中有效等价类是指对于程序的规格说明来说是合理的,有意义的输入数据构成集合,利用有效等级类可检测程序是否实现了规格说明中所规定的功能和性能。无效等价类反之。设计测试用例,要同时考虑这两种等价类,因为,软件需要接收合理数据,也要接受意外的考验,这样的测试才能确保软件具有更高的可靠性。

   设计测试用例:在确定了等价类之后,列出所以划分的等价类:输入条件,有效等价类,无效等价类,1>:为每个等价类设置唯一ID。2>设计一个新测试用例,使其尽可能多的覆盖有效等价类,重复这一步,直到所有等价类都被覆盖。3>设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

   边界值分析法:是对等价类划分法的补充。由于长期测试经验,错误率高的发生地是输出输入范围的边界上,而不是发生在其域的内部,因此针对边界值情况设计用例,可以查出更多的错误。边界值数据选取的规格是:1>:若输入条件规定值的范围,则应取刚到达这个范围的边界值,以及刚刚超过这个范围的边界值作为测试输入数据。2>:若输入调剂规定值个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。3>:若程序规格说明给出输入输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。

   结构性测试之白盒测试:在测试时候能够了解被测对象结构,可以查阅测试代码内容的测试工作,它需要知道程序内部的设计结构和具体的代码实现,并以此基础来设计测试用例。例如在音乐播放器中:可以根据播放器的状态进行判断,如果播放器的状态是文件刚打开,什么情况,如果文件已经播放,在调用这个函数是什么情况,也就是根据播放器内部的状态不同,可以设计很多不同的测试用例;白盒测试直接好吃就是知道所设计的测试用例在代码级上哪些地方被忽略叼,它的优点是帮助软件测试人员增大代码的覆盖率,提高代码质量,发现代码中隐藏的问题。但同时有一些缺点,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求。系统庞大时,测试开销也会非常大。

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

   决定做多少次测试的主要影响因素有。系统的目的:一个安全想关的软件比游戏软件开发组要求要严格苛刻的多。潜在用户数量:主要体现在团体经济上面,全球范围使用的成万用户要比几个用户的系统需要更多的测试。信息的价值:投入与经济价值相对应的时间与金钱去进行测试。开发机构:标准不同经验不同的开发机构所产生的错误率也就不同,测试的必然性也就不同。测试时机:随着市场分额的改变,需求的不断变化,质量要求的改变,测试量也就这对合适的目标进行调整。

   客户需求时时变更,追求完美测试可能性困难。因此需要测试者,追求软件质量的完美固然是其宗旨,但是明确软件测试显示与理想的差距,在软件测试中学会取舍与让步。测试是测不完全的。然寻求最小用例集合成为我们精简测试复杂性的一条必经之路。测试过程中采用单一的方法不能高效和完全的针对所有软件缺陷。因此软件测试应尽可能多采用多种途径测试。软件测试中我们应该尽可能保持软件测试简单性,勿将软件测试过度复杂化。对测试结果进行分析与总结,分析了解缺陷产生的原因和应对措施,从而在下次测试时候减少人力物力来在此查找软件缺陷。

0 0