软件测试阶段及方法

这篇具有很好参考价值的文章主要介绍了软件测试阶段及方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

软件测试阶段

1、单元测试

2、集成测试

3、系统测试

4、验收测试

软件测试阶段的划分:

软件测试阶段及方法

1、单元测试

•单元测试是针对软件基本组成单元函数内部的语句、条件分支来进行正确性检验的测试工作

•单元测试的目的是检测软件模块对《详细设计说明书》LLD的符合程度

2、集成测试

•集成测试是在单元测试的基础上,将所有模块按照概要设计要求组装成为子系统或系统,验证组装后功能以及模块间接口是否正确的测试工作

•集成测试的目的是检测软件模块对《概要设计说明书》HLD的符合程度

3、系统测试

•系统测试是将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列的测试工作

•系统测试的目的在于通过与《需求规格说明书》SRS作比较,发现软件与系统需求定义不符合或与之矛盾的地方

4、验收测试

•单元测试、集成测试、系统测试是软件开发过程中在软件组织内部进行的测试阶段

•对于外包类的项目,在系统测试完成后,软件正式发布前一般都需要进行验收测试。验收测试通常有以下分类:

-α(ALPHA)测试

- β(BETA)测试

- UAT(User Acceptance Test)测试

•在通过了内部系统测试及软件配置审查之后,就可以开始验收测试

•验收测试是以用户为主的测试,验收组应该由项目组成员、用户代表等组成

•验收测试原则上在用户所在地进行,但如经用户同意也可以在公司内模拟用户环境进行

•验收测试根据合同、《需求规格说明书》或《验收测试计划》对成品进行验收测试

•验收测试的结果有两种情况:

-软件功能、性能等质量特性与用户的要求一致,软件可以接受

 软件功能、性能等质量特性与用户的要求有差距,不被用户接受

(1)α测试

•α 测试是由用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试

• α测试时,软件在一个自然设置状态下使用。开发者坐在用户旁,随时记下错误情况和使用中的问题。这是在受控制的环境下进行的测试

• α测试的目的主要是评价软件产品的FLURPS(即功能、局域化、可用性、可靠性、性能和技术支持

(2)β测试

•β测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试

• 与α测试不同的是,β测试时开发者通常不在测试现场。因而,β测试是在开发者无法控制的环境下进行的软件现场应用

(3)UAT测试

UAT测试即用户接受度测试。一般用于商业用户验收系统的可用性。

•一般用于商业用户验证系统的可用性,通常情况由终端用户或利益相关方对被测试对象进行选择性功能验证。

• 也有可能根据法律法规、行业现行标准进行验收测试。

单元、集成、系统测试的比较

 测试方法不同

–  单元测试属于白盒测试范畴

–  集成测试属于灰盒测试范畴

–  系统测试属于黑盒测试范畴

• 测试对象不同

– 单元测试主要测试单元内部的数据结构、逻辑控制、异常处理等

– 集成测试主要测试模块之间的接口和接口数据传递关系,以及模块组合后的整体功能

–  系统测试主要测试整个系统相对于需求的符合度

• 判断标准不同

–  单元测试判断标准是详细设计说明书

–  集成测试的判断标准是概要设计说明书

–  系统测试的判断标准是软件需求规格说明书

软件测试方法

1、黑盒测试

2、白盒测试

3、灰盒测试

4、静态测试

5、动态测试

6、人工测试

7、自动化测试

软件测试的两种极端情况:

任何软件产品都可以使用以下的两种方法之一进行测试:

•已知产品的需求规格,但不知道其内部实现,可以进行测试证明每个需求是否实现。

•已知产品的内部实现过程,可以通过测试证明每种内部操作是否符合设计规格的要求,所有内部成分是否已经过检查。

1、黑盒测试

•黑盒测试把被测对象看成一个黑盒,只考虑其整体特性,不考虑其内部具体实现。

•黑盒测试针对的被测对象可以是一个系统、一个子系统、一个模块、一个子模块、一个函数等。

•黑盒测试又可以被称为基于规格的测试。

软件测试阶段及方法

黑盒测试的特点:

•对于更大的代码单元来说(子系统甚至系统级)比白盒测试效率要高;

•测试人员不需要了解实现的细节,包括特定的编程语言;

•从用户的视角进行测试,很容易被大家理解和接受;

•有助于暴露任何规格不一致或有歧义的问题;

2、白盒测试

•白盒测试是依据被测软件分析程序内部构造,并根据内部构造设计用例,来对内部控制流程进行测试,可完全不顾程序的整体功能实现情况。

•白盒测试是基于程序结构的逻辑驱动测试。

•白盒测试又可以被称为玻璃盒测试、透明盒测试、开放盒测试、结构化测试、逻辑驱动测试。

软件测试阶段及方法

为什么进行白盒测试?

    我们只要保证需求得到实现就行了,为什么要花费时间和精力来测试内部的逻辑细节呢?

•白盒测试一般在测试前期进行,通过达到一定的逻辑覆盖率指标,使得软件内部逻辑控制结构上的问题能基本得到消除

•白盒测试能保证内部逻辑结构达到一定的覆盖程度,能够给予软件代码质量更大的保证

•白盒测试发现问题后解决问题的成本较低

3、灰盒测试

•根据利用的被测对象信息的不同,会采用不同的方法进行测试。

•利用被测对象的整体特性信息,采用黑盒测试方法

•利用被测对象的内部具体实现信息,采用白盒测试方法

•如果既利用被测对象的整体特性信息,又利用被测对象的内部具体实现信息,采用的就是灰盒测试方法。两种信息占的比例不同,相应的灰度就不同。完全是整体特性信息,就是黑盒测试,完全是内部具体实现信息,就是白盒测试

典型的灰盒测试比如集成测试和系统测试时借助log信息

4、静态测试

•静态测试:不运行被测试的软件系统,而是采用其他手段和技术对被测试软件进行检测的一种测试技术。例如:代码走读、文档评审、程序分析等都是静态测试的范畴。常用技术有静态分析技术。

-----------------------------静态分析技术----------------------------    

•定义:静态分析是一种不通过执行程序而分析程序执行的技术

•功能:检查软件的表示和描述是否一致,没有冲突或者没有歧义,它瞄准的是纠正软件系统在描述、表示和规格上的错误,因此是任何进一步测试执行的前提。

主要有三种不同的程序测试可能性:

•考虑程序是否满足编码规则,语法上是否具有一致性和完整性;

•考虑文档描述是否规范、准确、便于查阅;

•考虑程序和文档之间的一致性。

5、动态测试

•动态测试: 按照预先设计的数据和步骤去运行被测软件系统,从而对被测软件系统进行检测的一种测试技术。常用技术有动态分析技术。

6、人工评测

•人工测试:测试活动(如评审、测试设计、测试执行等)由人来完成,狭义上是指测试执行由人工完成,这是最基本的测试形式

7、自动化测试

•自动化测试:一般是指通过计算机模拟人的测试行为,替代人的测试活动,狭义上是指测试执行由计算机来完成

----------------------------------------自动化测试的意义---------------------------------------

•对程序新版本运行前一版本执行的测试,提高回归测试效率

•可以运行更多更频繁的测试,比如冒烟测试

•可以执行手工测试困难或不可能做的测试,比如大量的重复操作或者集成测试

•更好地利用资源,比如测试仪器或者被测对象

----------------------------------------自动化测试的限制---------------------------------------

•不能取代手工测试,自动化测试只能提高测试效率,不能提高测试有效性,即不可能发现更多缺陷

•手工测试比自动测试发现的缺陷更多

•对测试设计依赖性极大,测试设计的不好会遗漏问题

•自动化测试对软件开发具有很大的依赖性,开发上出现变更可能导致前面的自动化测试完全失效

•工具本身并不具备想象力,工具不具有智能

软件测试方法的分类:

按照是否关心内部结构分为:黑盒测试、白盒测试、灰盒测试

按照是否运行软件产品分为:静态测试、动态测试

按照测试执行方式分为:手工测试、自动化测试

软件产品的概念:

•软件研发可以看成一个生产过程,在这个过程中会有产品输出,或者叫做工件输出

•输出的产品分成两类:

    最终产品,如编译后的软件、用户手册等

    中间产品,如SRS、HLD、LLD、代码等

•无论是最终产品还是中间产品,都可以分成代码和文档

•文档进一步细分还可以分成:

    开发文档,如SRS、HLD、LLD等

    测试文档,如测试计划、测试方案、测试用例等

•只要是软件产品,都是测试的对象文章来源地址https://www.toymoban.com/news/detail-462064.html

到了这里,关于软件测试阶段及方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软件测试技术之单元测试—工程师 Style 的测试方法

    什么是单元测试? Wikipedia 对单元测试的定义: 在计算机编程中,单元测试(Unit Testing)又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。 在实际测试中,一个单元可以小到一个方法,也可以大到包含多个类。从定义上讲,单元测试和

    2024年02月12日
    浏览(61)
  • 软件测试技术之单元测试—工程师 Style 的测试方法(2)

    怎么写单元测试? JUnit 简介 基本上每种语言和框架都有不错的单元测试框架和工具,例如 Java 的 JUnit、Scala 的 ScalaTest、Python的 unittest、JavaScript 的 Jest 等。上面的例子都是基于 JUnit 的,我们下面就简单介绍下 JUnit。 JUnit 里面每个 @Test 注解的方法,就是一个测试。@Ignore 可以

    2024年02月11日
    浏览(49)
  • 软件测试技术之单元测试—工程师 Style 的测试方法(3)

    如何设计单元测试? 单元测试设计方法 单元测试用例,和普通测试用例的设计,没有太多不同,常见的就是等价类划分、边界值分析等。而测试用例的设计其实也是开发者应该掌握的基本技能。 等价类划分 把所有输入划分为若干分类,从每个分类中选取少数有代表性的数据

    2024年02月12日
    浏览(65)
  • 软件测试四个阶段

    1.单元测试         (白盒测试;软件中的最小可测试单元进行的测试。一个函数方法、一个功能模块、都可以看做是一个单元一般由开发完成) 2.集成测试         (白盒+黑盒测试;将单元或者模块组装在一起进行测试能不能保证连接起来也能正常的工作。一些局部反映

    2024年02月11日
    浏览(49)
  • 软件测试各个阶段应该看的书籍【附电子版】

    目录 测试入门 通用测试技术 测试管理 专项测试技术 测试自动化 经验总结 测试入门 软件测试(第2版) Software Testing (2e), Ron Patton 一本测试入门的好书,较全面地介绍了各种测试领域和方法,为测试新手提供了正确的观念和宽泛的基础。 软件测试的艺术(第2版) The Art of

    2024年02月13日
    浏览(37)
  • 软件测试——单元测试

    单元测试是软件开发中的一种测试方法,用于验证软件中的各个独立单元(通常是函数、方法或类)是否按照设计规范正常工作。以下是进行单元测试的一般步骤和最佳实践: 1. 选择测试框架 选择适合项目的测试框架,例如: JUnit(Java) PyTest(Python) JUnit(JavaScript) PHP

    2024年02月03日
    浏览(49)
  • 软件测试技术(单元测试)

    1、JUnit JUnit是一个Java语言的单元测试框架,用于编写和运行测试。它提供了一些注解和断言方法,可以使测试代码更加简洁和易于阅读。使用JUnit进行单元测试,可以提高代码的质量和可维护性,减少代码的错误和缺陷,从而提高整个系统的稳定性和可靠性。 JUnit框架的核心

    2024年02月04日
    浏览(52)
  • 软件测试之单元测试

    🍅 视频学习: 文末有免费的配套视频可观看 🍅  关注公众号【互联网杂货铺】,回复 1  ,免费获取软件测试全套资料,资料在手,涨薪更快 从产品角度而言,常规的功能测试、系统测试都是站在产品局部或全局功能进行测试,能够很好地与用户的需要相结合,但是缺乏

    2024年01月20日
    浏览(47)
  • 软件测试系列--单元测试

     一、单元测试的概念 单元测试(Unit Testing)是对软件基本组成单元进行的测试,如函数(function或procedure)或一个类的方法(method)。当然这里的基本单元不仅仅指的是一个函数或者方法,有可能对应多个程序文件中的一组函数。 单元也具有一些基本的属性。比如:明确的

    2024年02月16日
    浏览(40)
  • 【软件测试】单元测试

    单元测试 (Unit Testing),又称 单体测试 、 模块测试 ,是最小单位的测试,其依据是详细设计、程序源代码或编码标准,对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误,使代码达到设计要求。 单元测试是所有的测试活动中最早进行的,它能以最低的成

    2024年02月13日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包