精华内容
下载资源
问答
  • 回归测试概念和策略

    2021-03-23 13:58:26
    回归测试做为测试中最重要,同时也是最复杂的一种测试类型。一直都是大家关注的焦点。转载一篇关于回归测试的概述,这篇文章从回归测试的基本概念定义、回归测试的测试策略包  回归测试做为测试中最重要,同时也是...
  • 详解回归测试

    千次阅读 2020-04-15 16:31:47
    测试工作中,新人对于测试流程、测试方法都有可以直接拿来用的教材,但是对于回归测试中的bug处理的细节,往往需要我们更多的经历才能更好的完成自己的工作,下面我们来谈一谈回归测试bug的处理中需要关注的点: ...

    2020年 第三期《python全栈测试开发》网络课程于4月下旬开班
    感兴趣的小伙伴戳此图标QQ联系:欢迎与我联系

    测试工作中,新人对于测试流程、测试方法都有可以直接拿来用的教材,但是对于回归测试中的bug处理的细节,往往需要我们更多的经历才能更好的完成自己的工作,下面我们来谈一谈回归测试bug的处理中需要关注的点:

    一、什么是回归测试?
    回归测试是指在发生修改之后重新测试先前的测试以保证修改的正确性。理论上,对软件的任何新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再现,并确认曾经通过的功能不会出现问题。

    二、回归测试做多少次?
    很多资料都有具体指定回归的次数,在我看来,回归测试不能确却的给出一个项目具体做多少轮回归测试,因为,版本不可控的因素太多了,需求的更改、人员的流动,开发的编码甚至还有很多其它市场因素都会造成版本的变动与推迟,只要有新版本势必就会做回归测试,因此在一开始规定回归测试的次数这是不可取的。
    一般只要出新版本就会有回归测试,极少的情况在没有新版本的情况下,为了快速检验版本质量,也会根据补丁进行回归测试(不推荐)。

    三、回归测试做什么?
    很多人在做回归测试的时候,都是原原本本的按bug步骤进行验证。事实上,这样做的回归测试是远远不够的。做回归时,不光要验证bug中的内容 ,还要对bug中所有相关业务都要做基本的验证,另外,bug中如果只提到一个导致bug的入口(举例:修改项目中某个人的信息,一定会存在新建与修改并存的地方,也会在其它地方可进行修改),那么在验证的时候也应该将所有入口都验证到,这在要求测试人员对测试业务非常熟悉的同时,还要求懂点代码,会根据开发的修改方案在代码上与业务上都进行回归。事实上,当每轮的bug都有根据业务的扩展与涉及来进行了验证的话,在回归测试里可以将冒烟完成大部分(具体依bug的数量与模块决定 )。另外,

    四、回归测试何时结束?
    回归测试的结束应该从以下两方面阐述:
    1)一个bug的关闭
    当验证bug可以正常关闭时,应该在关闭bug的时候备注以下几点:
    回归版本:验证的版本号
    回归步骤:回归bug的步骤
    回归结论:是否回归通过。如果通过就可以直接关闭,如果验证过程中还有其它问题,就要进行二次回归,就需要在回归结论里进行阐述还存在的问题现象及场景,并再次激活指派给开发。

    2)一轮回归的结束
    新版本出来后,会存在一些无法重现、评审通过此版本先不解决的、出版本之际由于时间安排推迟到下一个版本的bug,针对这些特殊情况的bug进行特殊处理后,所有bug都进行了回归 ,那么一轮的回归测试就算结束了

    五、回归测试里我们还可以做什么?
    在做回归时,有些bug会转为需求,也会因为一些bug在业务上有大小的变动,一轮回归下来,除了将bug都进行回归外,还会根据bug的性质对用例进行相对的增加与修改,相对应的应该根据实际情况对用例进行新增与修改。同样的,一轮测试下来,做测试总结的时候,也会得出在业务上的薄弱点,这个时候也应该对用例库进行整理,对不受控与存在冗余、或是由于新增导致变动的用例都相应的进行修改。

    回归测试虽然做的事情比较单一,但是实际过程中,只要好好把握这个过程,不仅可以对业务的熟悉有大的提升,还可以借此整理用例库从而更好的通过用例测出高质量的bug,对于想通过bug来找点测试思路甚至作为熟悉业务也不失为一种好方式

    超全面的测试IT技术课程,0元立即加入学习!有需要的朋友戳:

    腾讯课堂测试技术学习地址

    作者:kellyred

    出处:https://blog.csdn.net/kellyred

    欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。

    展开全文
  • 回归测试工具 顾名思义,回归测试是一种软件测试,用于确认最近的程序或代码更改未对现有功能产生不利影响。 这样是为了确保现有应用程序具有新添加的功能,并且没有任何损坏。 为了实现这一点,现有的测试用例...

    回归测试工具

    顾名思义,回归测试是一种软件测试,用于确认最近的程序或代码更改未对现有功能产生不利影响。

    这样做是为了确保现有应用程序具有新添加的功能,并且没有任何损坏。 为了实现这一点,现有的测试用例可以有选择地执行,有时甚至可以完全执行。 回归测试可确保新代码更改完成后,旧代码仍然可以使用。

    在许多情况下进行回归测试-

    1. 更改现有功能的要求。
    2. 增加新功能
    3. Bug修复
    4. 技术变更/升级
    5. 性能修复
    6. 代码优化

    回归测试可确保所做的更改不会在以前功能良好的现有功能中引入新的错误。 有时,现有功能本身的要求发生了变化,可能会影响应用程序的其他功能。 在这种情况下,将对其他功能执行回归测试。

    如果由于过时的库而弃用了基础技术,则还需要进行回归测试。 为了确保这不会对功能造成任何影响,测试人员将执行完整的回归测试。

    当开发人员进行代码优化或性能修复时,测试人员还将执行回归测试。

    重新测试和回归测试-重新测试和回归测试之间是有区别的。 重新测试是在修复缺陷后测试软件/应用程序,以确保在执行回归测试以确保开发新功能或更改现有功能时不引入新缺陷的同时,完全消除了原始缺陷。

    回归测试技术-通常,测试人员在每个版本的测试计划中都包括回归测试。 按照定义,应执行此操作以确保新功能不会对现有功能产生任何影响,必须将其包含在每个发行计划中。 由于大多数组织遵循频繁发布的敏捷方法,因此通过连续测试和自动化来实现回归测试。 回归测试有多种技术-

    回归测试
    1. 全部重测-这是测试工程师执行所有现有测试用例而不会遗漏的技术。 这是相当昂贵的,因为它需要大量的时间和资源。
    2. 回归测试选择-在这种技术中,测试工程师根据影响分析选择一部分测试用例。 测试选择的案例分类为
      • 可重用的测试用例
      • 过时的测试案例

      在后续回归周期中使用的可重用测试用例。 过时的测试用例在后续循环中不使用。

    3. 测试用例的优先级排序-根据业务影响,关键和频繁使用的功能主义者,对测试用例进行优先级排序 。 根据优先级选择测试用例将大大减少回归测试套件。

    回归测试的类型

    1. 选择性–选择性回归测试是一种回归测试,测试人员从先前运行的测试套件和测试覆盖范围识别中选择测试用例。 为了执行此操作,测试工程师使用已运行的测试用例的子集来减少重新测试所需的成本和工作量。
    2. 完全–当软件的根代码发生更改时,将使用完全回归测试。 当对现有代码进行了多次更改时,也会执行此操作。
    3. 纠正–在现有软件/应用程序没有任何更改的情况下执行。 可以将已经存在的测试用例重新用于执行这种类型的回归测试。
    4. 部分测试这种回归测试是在影响分析之后执行的。 测试工程师根据模块进行选择性的测试案例执行,这些模块会由于新代码合并而受到影响。

    可以手动进行回归测试吗?

    回归测试可以手动执行。 但是,如果应用程序很大且影响很大,则会导致效率低下。 而且,对于测试工程师而言,一次又一次地执行重复的测试用例非常无聊。

    要执行回归测试,测试人员需要确定必须执行的测试用例。 很大,测试人员需要找出最佳组合并对其进行优化。

    回归测试工具-回归测试用例可以自动化并按计划执行。 有许多可靠且可扩展的工具。 让我们看一些最受欢迎的工具-

    1. Winrunner – HP WinRunner软件是一种自动化的功能GUI测试工具,它允许用户记录和回放用户界面(UI)交互作为测试脚本。 作为功​​能测试套件,它与HP QuickTest Professional一起使用并支持企业质量保证。
    2. QTP – QTP是HP的自动化测试工具,现在称为HPE统一功能测试软件。 它支持VB脚本语言来指定测试过程,并提供GUI。 为了执行更密集的操作,用户可能需要修改基础脚本。
    3. Watir –根据Watir网站,Watir代表Ruby中的Web应用程序测试。 通过模仿用户与网站交互的行为,它有助于编写自动化测试。 它支持多种浏览器,例如Internet Explorer,Chrome,Firefox,Opera和Safari。
      它的最新版本是基于SeleniumAPI的watir Webdriver。
    4. Selenium – Selenium是用于跨平台自动化Web应用程序的一组工具。 它支持许多第三方库,以促进完整的自动化框架。 它还支持多种编程语言。 Selenium得到了一些最大的浏览器供应商的支持,这些供应商已采取(或正在采取步骤)使Selenium成为其浏览器的本地组成部分。 它也是无数其他浏览器自动化工具,API和框架中的核心技术。
    5. actiWate – actiWATE是基于Java的软件平台,旨在使测试自动化过程变得简单且具有成本效益,以实现Web应用程序的回归测试的自动化。 它由actiWATE框架和其他模块组成。 当前,仅发布一个模块– actiWATE TWA Framework,它是一个基于Java的库。 自动化测试使用此库与Web应用程序进行交互。 actiWATE无需真实的Internet浏览器即可执行测试; 相反,actiWATE Framework会自己模拟Internet浏览器。 actiWATE测试与JUnit完全兼容,并且可以由任何JUnit测试运行程序运行。
    6. Rational Functional Tester – Rational Functional Tester是一种工具,用于自动测试IBM Rational Software部门的软件应用程序。 它允许用户创建模拟人类测试人员的行为和评估的测试。 软件质量保证团队主要使用它来执行自动化回归测试。
    7. SilkTest – Silk Test是用于企业应用程序的自动化功能和回归测试的工具。 它最初由Segue Software开发,并于2006年被Borland收购。Borland在2009年被Micro Focus International收购。
    8. TimeShiftX – TimeShiftX是一个日期和时间偏移测试软件,它使您可以将旅行软件的时间设置为将来或过去,以便对所有日期和时间敏感的功能和代码进行时间测试,例如年末,夏时制、,年,计费,费率,政策等。执行时间旅行测试,而无需更改系统时钟,编辑代码或隔离服务器。
    9. CloudQA- CloudQA为各种测试需求提供了一个统一的平台。 他们有一个带有集成报告的记录和回放工具,很容易用于创建和安排回归测试套件。 它还提供了与各种第三方工具的集成,例如
      • ALM工具(TestRail,TFS,Asana)
      • 错误跟踪(Jira,BugTracker)
      • CI / CD(Jenkins,CircleCI,TravisCI和DevOps支持)
      • 开放式API集成
      • 团队沟通(Slack,SMS,webhooks)
      • 版本控制工具(Github,TFS)

    翻译自: https://www.javacodegeeks.com/2019/07/regression-testing-tools-techniques.html

    回归测试工具

    展开全文
  • 例如,安排新的测试人员完成手工回归测试,分配更有经验的测试人员开发新的测试用例,编写和调试自动测试脚本,一些探索性的或ad-hoc测试(ad- hoc测试就是为了某个特定目的进行的测试,以后不会再执行这个测试了)...

    目录

    1.回归测试的定义和目的
    2.触发回归测试的变化
    3.回归测试的策略
    4.测试用例库及其维护
    5.回归测试的测试过程
    6.回归测试的优缺点及用途
    7.回归测试在测试中的实践

    1. 定义&目的

    回归测试(Regression Test)是指在软件项目中,开发人员在修改了软件的代码以修复已经发现的bug后,测试人员在需要重新测试前面已经测试过的内容,以确认此次修改没有引入新的错误。 也就是说,回归测试的目的就是检查开发人员在修复已有bug时是否又导致了新的bug。
    在维基百科中,对于回归测试的定义原文是Regression testing is re-running functional and non-functional tests to ensure that previously developed and tested software still performs after a change. If not, that would be called a regression,按照这个定义,回归测试就是指的是重新运行以前的测试(功能性和非功能性),以确保先前开发和测试的软件在修改后仍能够正常运行。而根据定义后面来看,回归(regression)指的则是一个导致软件不能正常运行的bug,也就是说造成软件退步或者说衰退(不如修改前)的一个bug就叫做一个回归bug,也叫做回归(regression)。之所以说回归测试叫衰退测试,也是因为regression的汉语意思是回归、退化、倒退的意思。

    2. 触发回归测试的变化

    按照上面所述,回归测试是指软件在发生某种变化后而引起的,根据维基百科所述,这种变化一般有以下几个:

    1. 错误或者说bug修复(bug fixed)
    2. 软件的增强(software enhancements): 比如软件增加/删除/优化了功能等等
    3. 配置的更改(configuration changes)
    4. 电子元件的替代(substitution of electronic components)

    不过,在原文描述中,电子元件的替代只是有可能会引起回归测试的发生,具体是否需要进行回归测试还要看具体的情况,原文为“ include … and even substitution of electronic components”。

    3. 回归测试的策略

    从回归测试的定义可以看出,软件在其生命周期的任何一个阶段,只要发生了上述的几种类型的变化,就有可能会引入新的问题,为了减少这类新出现的问题,我们引入了回归测试。显而易见的是,随着软件的开发和迭代,以前测过的测试用例也会越来越多,也就是说回归测试的人力和时间成本会越来越大,而现在对于工作的效率和有效性要求都比较高。在这种情况下,我们就需要有针对性的进行回归测试,也就是说有策略的进行回归测试。
    回归测试的策略集中体现在对于回归测试的测试用例的选择上面,一般来讲,总体分为两大类,一种是完全回归,一种是部分回归,而部分回归又分为几种具体的回归方法,完全回归和部分回归的定义如下:

    1. 完全回归(Retest all): 完全回归是指测试时选择基线测试用例库中的所有用例进行回归测试,这是一种最为保险的策略,相对于部分回归策略,其可以将遗漏回归bug(regression bug)的概率降到最低,但这种方式同时也是所有策略中成本最高的一种方式,尤其是越往后,随着测试用例的不断增多,最后完全回归所需要的时间和成本往往超出了预算。
    2. 部分回归: 部分回归是指在回归测试时选择基线测试用例库中的一部分用例进行回归测试,而不是所有用例全部执行,相对于完全回归测试,这种测试策略效率很高,并且所需要的时间和成本比较少,但也没有完全回归覆盖率高(或者说遗漏回归bug的概率比完全测试高)。

    根据部分回归的定义,部分回归需要选择一部分测试用例来进行回归测试,那么自然就要有具体的选择方法,也就是说如何选择出这一部分的测试用例来执行回归测试,一般来讲,在部分回归测试时,选择测试用例的方法分为以下几种:

    1. 基于风险选择测试用例: 这种方法是指按照一定的风险标准从基线测试用例库中选择回归测试用例(回归测试包)。首先运行最重要的、关键的和可疑的测试用例,而跳过那些非关键的、优先级别低的或者稳定性高的测试用例,因为这些用例即便可能测试到缺陷,这些缺陷的严重性也仅有三级或四级。一般而言,测试从主要特征到次要特征。
    2. 基于操作剖面选择测试用例: 如果基线测试用例库的测试用例是基于软件操作剖面开发的,那么测试用例的分布情况就反映了系统的实际使用情况。回归测试的测试用例个数可以由测试预算确定,回归测试可以优先选择那些针对最重要或最频繁使用功能的测试用例,释放和缓解最高级别的风险,有助于尽早发现那些对可靠性有最大影响的故障。这种方法可以在一个给定的预算下最有效的提高系统可靠性,但实施起来有一定的难度。
    3. 针对修改的部分选择测试用例(再测试修改的部分): 当测试者对修改的局部化有足够的信息时,可以通过相依性分析分析识别软件的修改情况并分析修改的影响,将回归测试集中在被改变的模块和它的接口上。通常,一个回归错误一定涉及一个新的、修改的或删除的代码段。在允许的条件下,回归测试尽可能覆盖受到影响的部分。

    附: 软件操作剖面是软件质量管理之中的概念,其包含了各种操作的集合以及每种操作出现的概率,其是对软件使用方式的数值描述,也可以理解为各种使用方式的概率。

    4. 测试用例库

    在实际的软件项目中,项目组会将测试编写的测试用例放在一起,形成一个测试用例库(测试用例库中包含的是不仅仅是功能测试的测试用例,也有其他类型测试的测试用例,比如自动化测试脚本用例),并且会不断的对其进行维护和管理。每当得到一个软件的基线版本(软件的基线版本是指软件文档或源码以及其它产出物的一个稳定版本,它是进一步开发的基础)时,用于基线版本测试的所有测试用例就构成了一个基线测试用例库。在进行回归测试的时候,就可以根据回归测试中测试用例的选择策略,从基线测试用例库中提取合适的测试用例组成回归测试的用例包,通过运行回归测试的用例包来实现回归测试。
    上面说过需要对测试用例库进行维护,有关测试用例库的维护详述如下。

    >测试用例库的维护

    为了最大限度地满足客户的需要和适应应用的要求,软件在其生命周期中会频繁地被修改和不断推出新的版本,修改后的或者新版本的软件会添加一些新的功能或者在软件功能上产生某些变化。随着软件的改变,软件的功能和应用接口以及软件的实现发生了演变,导致测试用例库中的一些测试用例可能会失去针对性和有效性,而另一些测试用例可能会变得过时,还有一些测试用例将完全不能运行。为了保证测试用例库中测试用例的有效性,必须对测试用例库进行维护。同时,对于被修改的或新增添的软件功能,仅仅靠重新运行以前的测试用例并不足以揭示其中的问题,所以还要追加新的测试用例来测试这些新的功能或特征。因此,测试用例库的维护工作还应包括开发新测试用例,这些新的测试用例用来测试软件的新特征或者覆盖现有测试用例无法覆盖的软件功能或特征。测试用例的维护是一个不间断的过程,通常可以将软件开发的基线作为基准,维护的主要内容包括下述几个方面:

    1. 删除过时的测试用例: 因为需求的改变等原因可能会使一个基线测试用例不再适合测试被测试系统,这些测试用例就会过时。例如,某个变量的界限发生了改变,原来针对边界值的测试就无法完成对新边界测试。所以,在软件每次修改后都应将过时的测试用例从测试用例库中删除。
    2. 改进不受控制的测试用例: 随着软件项目的进展,测试用例库中的用例会不断增加,其中会出现一些对输入或运行状态十分敏感的测试用例。这些测试不容易重复且结果难以控制,会影响回归测试的效率,需要进行改进,使其达到可重复和可控制的要求。
    3. 删除冗余的测试用例: 如果存在两个或者更多个测试用例针对一组相同的输入和输出进行测试,那么这些测试用例是冗余的。冗余测试用例的存在降低了回归测试的效率。所以需要定期的整理测试用例库,将冗余的用例删除掉。
    4. 增添新的测试用例: 如果某个程序段、构件或关键的接口在现有的测试中没有被测试,那么应该开发新测试用例重新对其进行测试。并将新开发的测试用例合并到基线测试包中。

    维护测试用例的库的好处在于不仅改善了测试用例的可用性,而且也提高了测试库的可信性,同时还可以将一个基线测试用例库的效率和效用保持在一个较高的级别上。

    >回归测试包的选择

    在软件生命周期中,即使一个得到良好维护的测试用例库也可能变得相当大,这使每次回归测试都重新运行完整的测试包变得不切实际。一个完全的回归测试包括每个基线测试用例,时间和成本约束可能阻碍运行这样一个测试,这时就不得不选择一个缩减的回归测试包来完成回归测试。回归测试的价值在于它是一个能够检测到回归错误的受控实验。当选择缩减的回归测试包时,有可能删除了将揭示回归错误的测试用例,消除了发现回归错误的机会。不过,如果采用了代码相依性分析等安全的缩减技术,就可以决定哪些测试用例可以被删除而不会让回归测试的意图遭到破坏。

    5. 回归测试的测试过程

    在有了测试用例库的维护方法和回归测试包的选择策略的基础上,回归测试的过程大致可以分为如下的几步:

    1. 识别出软件被修改的部分;
    2. 从原基线测试用例库中剔除掉所有不再适用的测试用例,保留对新版本的软件依然有效的测试用例,然后形成一个新的基线测试用例库;
    3. 从形成的新的基线测试用例库中依据选择测试用例的策略选择测试用例来执行测试;
    4. 如果需要,还可以形成新的测试用例集,以测试上一步选择的测试用例集无法覆盖或者无法充分覆盖到的软件部分;
    5. 执行上面新形成的测试用例集。

    在上面的步骤中,其中第2步和第3步是验证软件的修改是否造成了软件的衰退(或者说破坏了软件现有的功能),而第4步和第5步则是验证修改工作本身了。

    6. 回归测试的优缺点及其用途(Benefits、drawbacks and uses)

    1. 优点: 可以确定当对软件的现有功能进行更改后,此次的更改没有影响软件现有的功能,这些功能是不变的。
    2. 缺点: 在敏捷软件开发中,软件开发生命周期非常短,资源稀缺,对软件的更改非常频繁-回归测试可能会带来大量不必要的开销。 在一个倾向于使用来自第三方的黑匣子组件的软件开发环境中,执行回归测试可能是很困难的,因为第三方组件的任何更改都可能干扰系统的其余部分(并且对第三方组件执行回归测试是困难的,因为它是一个未知的实体)。
    3. 用途: 回归测试不仅可用于测试程序的正确性,还可用于跟踪其输出的质量。例如,在编译器的设计中,回归测试可以跟踪代码大小以及编译和执行测试套件所需的时间案例。理论上,每次修复后,必须运行之前针对系统运行的整个测试用例,以确保系统没有以模糊的方式损坏。在实践中,回归测试也必须以这个理论思想为指导来进行。

    7. 回归测试在测试中的实践

    根据第6部分中关于回归测试用途的描述,可以知道在实际工作中,回归测试需要反复的执行(软件发生改变就需要执行),而当测试人员不断的去执行这些重复的测试用例时,不仅会让人心生厌烦,而且随着时间的推移,需要执行的测试用例的数量也越来越多,导致整个回归测试的效率降低。因此,在回归测试时,需要通过测试自动化的思想,运用自动化测试工具来提高回归测试的效率。 而对于测试的工具的要求就是其要足够灵活和具有一定的通用性,以便满足不同回归测试目标的要求。
    在实际对软件进行回归测试时,应用多种测试技术是常见的,并且在回归测试时选择多种回归测试策略也可以增加人们对修改软件的信心。而且需要注意的是,回归测试并不会减少对系统新功能和特征的测试需求,并且回归测试包应包括软件新功能和特征的测试,如果回归测试用例包不能达到要求的覆盖率,则必须从以前的用例中再选取新的测试用例来补充回归测试用例包,使其达到要求的覆盖率。
    还有一点就是回归测试是重复性较多的活动,容易使测试人员感到疲劳和厌倦,降低测试效率,在实际工作中可以采用一些策略减轻这些问题。例如,安排新的测试人员完成手工回归测试,分配更有经验的测试人员开发新的测试用例,编写和调试自动测试脚本,做一些探索性的或ad-hoc测试(ad- hoc测试就是为了某个特定目的进行的测试,以后不会再执行这个测试了)。还可以在不影响测试目标的情况下,鼓励测试人员创造性地执行测试用例,变化的输入、按键和配置能够有助于激励测试人员和揭示新的错误。
    最后,组织回归测试时要注意两点,一个是各测试阶段发生的修改一定要在本测试阶段内完成回归,以免将错误遗留到下一测试阶段。另一个是回归测试期间应对该软件版本冻结,将回归测试发现的问题集中修改,集中回归。 在实际的工作中,可以将回归测试和兼容性测试放在一起结合起来进行,在新的配置条件下运行旧的测试可以发现兼容性问题,而同时也可以揭示编码在回归方面的错误。

    回到顶部
    参考资料:
    《regression test》
    《回归测试》
    《你真的了解什么是回归吗?》
    《ad-hoc测试介绍》

    展开全文
  • 一、单元测试----白盒测试、自动化测试、静态测试 1、单元测试概念? 单元测试是完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编码,使用过程设计描述作为指南,对重要的控制路径进行测试以...

    根据V模型,软件研发过程:需求分析->概要设计->详细设计->编码->单元测试->集成测试->系统测试

    一、单元测试----白盒测试、自动化测试、静态测试

    1、单元测试概念?

    单元测试是完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编码,使用过程设计描述作为指南,对重要的控制路径进行测试以发现模块内的错误,通常情况下是白盒的,对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试,及早的发现和解决不易显现的错误。

     

    2、单元测试的内容?

    接口测试:保证进出单元模块的数据流是正确的

    内部数据结构:保证临时存储的数据在算法执行过程中的完整性

    全局数据结构:全局数据结构对单元模块的影响应当审查

    边界:才用边界值分析技术,保证模块在边界条件和极限情况下正常执行

    语句覆盖:保证每个语句执行一次

    错误路径:对所有处理错误的路径进行测试

     

    二、集成测试----白盒测试、黑盒测试、自动化测试、静态测试

    1、集成测试概念?

    通过测试发现与模块接口有关的问题。目标是把通过了单元测试的模块拿来,构造一个在设计中所描述的程序结构,应当避免一次性的集成(除非软件规模很小),而采用增量集成。

    自顶向下集成:模块集成的顺序是首先集成主模块,然后按照控制层次结构向下进行集成,隶属于主模块的模块按照深度优先或广度优先的方式集成到整个结构中去。

    自底向上集成:从原子模块开始来进行构造和测试,因为模块是自底向上集成的,进行时要求所有隶属于某个给顶层次的模块总是存在的,也不再有使用稳定测试桩的必要。

     

    2、集成测试的过程?

      a.明确测试的目标和完成准则,并确定关键部分

      b.确定阶段和进度安排

      c.测试和修正协调的计划

      d.清理系统结构

      e.确定集成测试方法的组合策略

      f.描述集成顺序

      g.针对每次集成编制测试用例,从而形成测试方案

      h.进行附加软件(测试桩)的开发

      i.测试软件和测试准备准备

      j.依据测试方案进行测试

      k.根据测试结果提交测试报告

      l.测试报告的分析

      m.缺陷的管理

      n.修正和测试工作

      o.完成测试软件提交

     

    三、系统测试----黑盒测试、自动化测试、手工测试

    1、系统测试概念?

    根据软件需求规范的要求进行系统测试,确认系统满足需求的要求,系统测试人员相当于用户代言人,在需求分析阶段要确定软件的可测性,保证有效完成系统测试工作

     

    2、系统测试主要内容?

      a.所有功能需求得到满足

      b.所有性能需求得到满足

      c.其他需求(如安全性、容错性、兼容性等)得到满足

     

    四、回归测试----黑盒测试、自动化测试、手工测试

    1、回归测试概念?

    当发现并修改缺陷后,或在软件中添加新的功能后,重新测试。用来检查被发现的缺陷是否被改正,并且所做的修改没有引发新的问题。回归测试可以通过人工重新执行测试用例,也可以使用自动化的工具来进行。

     

    2、回归测试方式?

      a.覆盖全部测试用例。选择基线测试用例库中的全部测试用例组成回归测试包,测试成本最高

      b.基于风险选择测试。可以基于一定的风险标准来从基线测试用例库中选择回归测试包,首先运行最重要的、最关键的和最可疑的测试用例,测试从主要特征到次要特征

      c.基于操作剖面选择测试。测试所使用的测试用例个数可以由测试预算确定,回归测试可以优先选择那些最重要或最频繁使用的功能的测试用例

      d.重新测试修改的部分。当测试者对修改的局部化有足够信心时,可以通过相依性分析识别软件的修改情况并分析修改的影响,将回归测试局限于被改变的模块和他的接口上

     

    五、用户验收测试----黑盒测试、自动化测试、手工测试

    1、用户验收测试内容?

      a.配置审查。确保已开发软件的所有文件资料均已编写齐全,并分类编目

      b.Alpha测试。是由用户在开发者的场所来进行的,在一个受控的环境中进行。

      c.Beta测试。由软件的最终用户在一个或多个用户场所来进行的,开发者通常不在现场,用户记录测试中遇到的问题并报告给开发者,开发者对系统进行最后的修改,并开始准备发布最终的软件

     

    展开全文
  • 回归测试的简要概述

    2020-06-15 08:28:24
    研究表明,安装新应用后,只有四分之一的用户在第二天返回该应用。 保留率非常低,大多数用户在首次使用后都会卸载该应用程序。... 简而言之,回归测试可以定义为对计算机程序进行一些更改后对其...
  • 今天介绍5款自动化大佬们都在用的自动化回归测试工具,建议点赞收藏。 1. TestingWhiz TestingWhiz是一款无需编码即可使用的回归测试自动化工具,专门面向Web、移动及云应用,且提供超过290种预定义测试命令以实现...
  • 回归测试VS重新测试

    千次阅读 2020-09-18 17:58:03
    你不是唯一一个为区分回归测试和重新测试绞尽脑汁的人。它俩都是用于开发之后,很多人因为这两种软件测试类型之间有很多的相同点而陷入疑惑。然而在一些大的方面他们是不一样的。 所以呢? 在正式讨论区别之前让...
  • 摘要:程序被修改后,要保证程序能正常运行并且修改不能给程序质量带来任何负面影响,回归测试是必要的。大型软件系统结构复杂,构成要素多,如何做到不遗漏功能点同时降低软件回归测试代价,本文结合业务规则模型、...
  • 回归测试

    千次阅读 2016-09-23 10:25:05
    回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归测试作为软件生命周期的一个组成部分,在整个软件测试...
  • 摘要:本文描述了软件回归测试的概念和进行回归测试的基本步骤,介绍了可用于回归测试的  测试用例库的维护方法,给出了几种可以可保证回归测试效率和有效性的回归测试策略,总结  了回归测试时应该注意的...
  • 五种自动化回归测试常用工具

    万次阅读 2018-06-25 17:02:18
    1. TestingWhizTestingWhiz是一款无需编码即可使用的回归测试自动化工具,专门面向Web、移动及云应用,且提供超过290种预定义测试命令以实现测试用例的编写与编辑。TestingWhiz能够将全部应用变更整合至单一日志当中...
  • 软件的改变可能是源于发现了错误并了修改,也有可能是因为在集成或维护阶段加入了新的模块。当软件中所含错误被发现时,如果错误跟踪与管理系统不够完善,就可能会遗漏对这些错误的修改;而开发者对错误理解的不够...
  • 回归测试变得容易 描述 Aragorn是一个回归测试工具,可以定期运行一组测试。 它充当可以执行或安排测试套件的服务器。 (扩展名为.suite.json的JSON文件,有关更多信息,请参见下面的示例) 运行测试套件时,将执行...
  • 顾名思义,回归测试是一种软件测试,用于确认最近的程序或代码更改未对现有功能产生不利影响。 这样是为了确保现有应用程序具有新添加的功能,并且没有任何损坏。 为了实现这一点,现有的测试用例有选择地执行,...
  • 测试开发之测试计划

    千次阅读 2021-07-25 05:58:09
    一、 测试计划的定义与原则1 测试计划的定义IEEE 829-1983 测试计划的定义及目的 一个叙述了预定的测试活动的范围、途径、资源及进度安排的文档。它确认了测试项、被测特征、测试任务、人员安排以及任何偶发事件的...
  • 作为测试经验尚且不足的初级TE,近半年以来,参与了2个较大web项目的功能侧测试(均包括测试交付期和优化维护期,当然迭代发布测试也还在继续…),其中主要总结一下自己在参与项目过程中的一点点经验和各种坑…纯...
  • 在拥抱变化的敏捷时代,这样的一个问题会有更...只有明确了对上一版本的修改状况,修改内容,以及修改的方式、方法,才能更有效的展开测试问题分析、测试进度安排、测试有例覆盖,才能更有效和高效的展开回归测试
  • 测试自动化的数量过少,无法充分回归测试。 二、发生时间段 Always 三、陷阱表现 1.大多数测试靠手动执行 四、负面后果 1.手动执行回归测试需消耗过多时间和资源 2.回归测试作为系统测试的最后一个阶段,可有可无...
  • 4.合理安排测试工程师、功能测试、业务专家、自动化测试(回归测试)、性能测试;5.组织搭建测试环境以及测试结束后组织整理测试文档,提交测试报告;6.现阶段测试规划(自动化测试、性能测试)、未来测试规划(增加...
  • 研究表明,安装新应用后,只有四分之一的用户在第二天返回该应用。 保留率非常低,大多数用户在首次使用后都会卸载该应用程序。 您可能已经猜到了原因。... 简而言之,回归测试可以定义为对计算机...
  • 回归测试

    2008-11-21 11:23:00
    软件回归测试及其实践 本文描述了软件回归测试的概念和进行回归测试的基本步骤,介绍了可用于回归测试的测试用例库的维护方法,给出了几种可以可保证回归测试效率和有效性的回归测试策略,总结了回归测试时应该注意...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,990
精华内容 4,796
关键字:

安排做回归测试