测试理论一

1.软件的定义:

        是计算机系统中与硬件相互依存的另一部分,它是包括程序、文档的完整集合

2.软件测试的产生:

        原因一:程序规模的爆炸式增长
            程序代码规模显著增大
            程序结构和算法更加复杂
            程序模块间接口增多

       原因二:在程序员与用户需求间寻找平衡点
            他们的关注点不同
            程序员在开发过程关注:设计需求,技术内涵
            用户关注满足自身特定的需求。

            例子(易用性,友好):

3.软件测试的意义:

        解放程序员和售后服务人员.软件测试可以降低软件质量风险,使程序员能够更专心于解决程序的算法和效率;同时经过严格检验的完整产品也减轻了售后服务人员的工作量。

4.软件测试概念的不同角度:

        1). 是为了发现错误而执行程序的过程。
        2). 应关心程序的效率和鲁棒性(健壮性)等因素。
        3). 检验软件是否满足规定的需求。
        4). 弄清预期与实际结果之间的差别。

        (所谓“鲁棒性”,是英文“robust”的译音,指强壮、健壮的意思。软件的“鲁棒性”,是指系统在一定条件下维持某些性能的特性,简单地说,就是适应各种各样的变化的能力。

鲁棒性越强,系统精确度就愈高,性能越好。)

5.软件测试的定义:

        :软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

6.成功的测试:

        1)、什么是成功的测试用例
        答:在于发现至今未发现的错误。
        2)、什么是成功的测试
        答:是发现了至今未发现错误的测试。
        3)、什么是高效的测试

        答:指用少量的测试用例,发现被测软件尽可能多的错误

7.测试的目的:

        测试是程序的执行过程,目的在于发现错误。
        确保产品完成了它所承诺或公布的功能
        确保产品满足性能和效率的要求

        确保产品是健壮的和适应用户环境的

8.软件测试活动一般包含过程:

        1)、制订测试计划
        2)、设计测试用例
        3)、实施测试
        4)、提交缺陷报告

        5)、测试总结

9.V模型:

        V模型和瀑布模型有一些共同的特性,V模型中的过程从左到右,描述了基本的开发 过程和测试行为。V模型的价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。局限性: 把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现.见下图。

                            

       10.W模型:
         V模型的局限性在于没有明确地说明早期的测试,无法体现“尽早地和不断地进行软件测试” 的原则。在V模型中增加软件各开发阶段应同步进行的测试,演化为W 模型(如下图)。在模型中不难看出,开发是“V”,测试是与此并行的“V”。
        W模型是V模型的发展,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题。

W模型也有局限性。W模型和V模型都把软件的开发视为需求、设计、编码等一系列串行的活动,无法支持迭代、自发性以及变更调整。见下图。 

                        

11. X模型:
        X模型也是对V模型的改进,X模型提出针对单独的程序片段进行相互分离的编码和测试,此后通过频繁的交接,通过集成最终合成为可执行的程序。

        X模型的左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终成为可执行的程序,然后再对这些可执 行程序进行测试。己通过集成测试的成品可以进行封装并提交给用户,也可以作为更大规模和范围内集成的一部分。多根并行的曲线表示变更可以在各个部分发生。

        X模型还定位了探索性测试,这是不进行事先计划的特殊类型的测试,这一方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误。但这样可能对测试造成人力、物力和财力的浪费,对测试员的熟练程度要求比较高。见下图。

                        

12.H模型:
        H模型中, 软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段。软件测试可以尽早的进行,并且可以根据被测物的不同而分层次进行。

H模型揭示了一个原理:软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。H模型指出软件测试要尽早准备, 尽早执行。不同的测试活动可以是按照某个次序先后进行的,但也可能是反复的,只要某个测试达到准备就绪点,测试执行活动就可以开展。见下图

                                

13.以上模型的特点以及局限性:

        1).软件测试过程模型-V模型是软件开发瀑布模型的变种,主要反映测试活动与分析和设计的关系;
局限性:把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现
        2).软件测试过程模型-W模型
在V模型的基础上,增加开发阶段的同步测试,形成W模型;测试与开发同步进行,有利用尽早的发现问题

局限性:仍把开发活动看成是从需求开始到编码结束的串行活动,只有上一阶段完成后,才可以开始下一阶段的活动,不能支持迭代,自发性以及变更调整

        3).软件测试过程模型-H模型

在H模型中,软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段;软件测试可以进行尽早的进行;软件测试可以根据被测物的不同而分层次进行

        

猜你喜欢

转载自blog.csdn.net/unfinished_story/article/details/80540123