软件测试的⼏种基本⽅法
上次我们介绍了软件测试的基本概念及基本原则,今天我们就来看看软件测试的⼏种基本⽅法吧。
⾸先,当然就是我们⼤家熟悉的⿊盒测试和⽩盒测试,这是按是否查看程序内部结构分的。其次,还可以按是否运⾏程序分为静态测试和动态测试,按阶段可分为单元测试、集成测试、系统测试、验收测试、回归测试。除此之外还有冒烟测试、随机测试等。接下来就详细介绍⼀下以上⼏种测试。
⼀、按是否查看程序内部结构分为:
1、⿊盒测试(Black Box Testing):
⿊盒测试是根据软件的规格对软件进⾏的测试,这类测试不考虑软件内部的运作原理,因此软件对⽤户来说就像⼀个⿊盒⼦。简单来说,这种测试只关⼼输⼊和输出的结果,并不考虑程序的源代码。⿊盒测试分为功能测试和性能测试:
1)功能测试(function testing),是⿊盒测试的⼀⽅⾯,它检查实际软件的功能是否符合⽤户的需求。包括逻辑功能测试、界⾯测试、易⽤性测试和兼容性测试。
2)性能测试(performance testing),软件的性能主要有时间性能和空间性能两种。其中,时间性能主要指软件的⼀个具体事务的响应时间,⽽空间性能主要指软件运⾏时所消耗的系统资源。
2、⽩盒测试(White Box Testing):
⽩盒测试是把测试对象看作⼀个打开的盒⼦。利⽤⽩盒测试法进⾏动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。与⿊盒测试相反,这种测试就要研究程序⾥⾯的源代码和程序结构。
⼆、按是否运⾏程序分为:
1、静态测试(static testing):
静态测试指测试不运⾏的部分,只是静态地检查程序代码、界⾯或⽂档可能存在的错误的过程。例如测试产品说明书,对此进⾏检查和审阅.。
2、动态测试(dynamic testing):
动态测试是指通过运⾏软件来检验软件的动态⾏为和运⾏结果的正确性。具体操作就是输⼊相应的测试数据,检查输出结果和预期结果是否相符的过程。
三、按阶段分为:
1、单元测试(Unit Testing):
单元测试是最微⼩规模的测试,测试的是某个功能或代码块。典型地由程序员⽽⾮测试员来做,因为它需要知道内部程序设计和编码的细节知识。
2、集成测试(Integration Testing):
集成测试是指⼀个应⽤系统的各个部件的联合测试,以决定他们能否在⼀起共同⼯作并没有冲突。部件可以是代码块、独⽴的应⽤、⽹络上的客户端或服务器端程序。这种类型的测试尤其与客户服务器和分布式系统有关。⼀般集成测试以前,单元测试需要完成。
3、系统测试(System Testing):
系统测试是将整个软件系统看做⼀个整体进⾏测试,包括对功能、性能,以及软件所运⾏的软硬件环境进⾏测试。
4、验收测试(Accept Testing):
验收测试是基于客户或最终⽤户的规格书的最终测试,或基于⽤户⼀段时间的使⽤后,看软件是否满⾜客户要求。⼀般从功能、⽤户界⾯、性能、业务关联性进⾏测试。软件测试的方法有哪些
5、回归测试(Regression testing):
回归测试是指在发⽣修改之后重新测试先前的测试以保证修改的正确性。理论上,软件产⽣新版本,都需要进⾏回归测试,验证以前发现和修复的错误是否在新软件版本上再次出现。
四、其他类型测试:
1、冒烟测试(smoke testing):
冒烟测试的名称可以理解为该种测试耗时短,仅⽤⼀袋烟功夫⾜够了。也有⼈认为是形象地类⽐新电路板基本功能检查。任何新电路板焊好后,先通电检查,如果存在设计缺陷,电路板可能会短路,板⼦冒烟了。冒烟测试的对象是新编译的每⼀个需要正式测试的软件版本,⽬的是确认软件基本功能正常,可以进⾏后续的正式测试⼯作。冒烟测试的执⾏者是版本编译⼈员。
2、随机测试(random testing):
随机测试是指测试中所有的输⼊数据都是随机⽣成的,其⽬的是模拟⽤户的真实操作,并发现⼀些边缘性的错误。
以上就是⼏种常⽤的软件测试⽅法,当然还有很多其他的测试⽅法(⽐如逆向测试,极限测试等),在这⾥就不⼀⼀介绍了。下周预告:软件测试的⼏种常⽤⼯具。下周见~
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论