软件测试方法 订阅
软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 [1]  从是否关心软件内部结构和具体实现的角度划分,测试方法主要有白盒测试和黑盒测试。白盒测试方法主要有代码检査法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。黑盒测试方法主要包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景法等。 [1]  从是否执行程序的角度划分,测试方法又可分为静态测试和动态测试。静态测试包括代码检査、静态结构分析、代码质量度量等。动态测试由3部分组成:构造测试实例、执行程序和分析程序的输出结果。 [1] 展开全文
软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 [1]  从是否关心软件内部结构和具体实现的角度划分,测试方法主要有白盒测试和黑盒测试。白盒测试方法主要有代码检査法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。黑盒测试方法主要包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景法等。 [1]  从是否执行程序的角度划分,测试方法又可分为静态测试和动态测试。静态测试包括代码检査、静态结构分析、代码质量度量等。动态测试由3部分组成:构造测试实例、执行程序和分析程序的输出结果。 [1]
信息
外文名
Software Testing Method
所属行业
计算机
作    用
选择合适的软件
中文名
软件测试方法
目    的
测试软件性能
软件测试方法概述
软件测试方法的目的包括:发现软件程序中的错误、对软件是否符合设计要求,以及是否符合合同中所要达到的技术要求,进行有关验证以及评估软件的质量。最终实现将高质量的软件系统交给用户的目的。而软件的基本测试方法主要有静态测试和动态测试、功能测试、性能测试、黑盒测试和白盒测试等等。 [2]  软件测试方法众多,比较常用到的测试方法有等价类划分、场景法,偶尔会使用到的测试方法有边界值和判定表,还有包括不经常使用到的正交排列法和测试大纲法。其中等价类划分、边界值分析、判定表等属于黑盒测试方法;只对功能是否可以满足规定要求进行检查,主要用于软件的确认测试阶段。白盒测试也叫做结构测试或逻辑驱动测试,是基于覆盖的全部代码和路径、条件的测试,通过测试检测产品内部性能,检验程序中的路径是否可以按照要求完成工作,但是并不对功能进行测试,主要用于软件的验证。 [3] 
收起全文
精华内容
下载资源
问答
  • 软件测试方法
    千次阅读
    2020-10-25 00:00:34

    软件测试方法

    软件测试作为一个技术岗位,也是有自己圈内的技术划分的,按照市场上常见的分类,可以将软件测试分为白盒测试、黑盒测试以及介于二者之间的灰盒测试,除灰盒测试外,两种测试都有自己常见的测试方法。
    1.白盒测试
    白盒测试也称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试,它是按照程序内部的结构测试程序,简单来说就是代码层面的测试。这一方法是指测试人员了解程序内部逻辑结构,此时的测试对象就像一个打开的盒子,测试人员依据程序内部逻辑结构相关信息对程序所有逻辑路径进行测试,确认实际的状态是否与预期一致。白盒测试在路径覆盖上一定程度是可以做到穷尽测试的。
    常见的白盒测试方法分为:静态测试方法和动态测试方法。静态测试不要求在计算机上实际执行所测程序,主要是以一些人工的模拟技术对软件进行分析和测试;而动态测试是通过输入一组预先按照一定测试准则构造的实例数据来动态运行程序,从而达到发现程序错误的过程,它基本上是在计算机上实际执行了所测程序
    实际工作中的白盒测试方法种类更多:
    1)代码检查法
    代码检查包括桌面检查、代码审查和走查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码逻辑表达的准确性,代码结构的合理性等方面。
    2)静态结构分析法
    测试者通过使用测试工具分析程序源代码的系统结构、数据结构、数据接口、内部控制逻辑等内部结构,生成函数调用关系图、模块控制流图、内部文件调用关系图、子程序表、宏和函数参数表等各类图形图表,可以清晰地标识整个软件系统的组成结构,然后通过分析这些图表。检查软件有没有存在缺陷或错误。
    3)静态质量度量法
    依据ISO/IEC9126质量模型作为基础,通过软件功能的六大特性(27个子特性)构造质量度量模型,用于评估软件的每个方面。
    4)逻辑覆盖法
    通过对程序内部逻辑结构的遍历实现程序的覆盖,逻辑覆盖标准可分为:语句覆盖(SC)、判定覆盖(DC)、条件覆盖(CC)、条件判定组合覆盖(CDC)、多条件覆盖(MCC)和修正判定条件覆盖(MCDC)。
    5)基本路径覆盖法
    在程序控制流图的基础上,通过分析控制结构的环路复杂性,导出基本执行路径集合,然后据此设计测试用例。
    6)域测试
    域测试是一种基于程序结构的测试。域测试的“域”是指程序的输入空间,任何一个被测程序都有一个输入空间,测试的理想结果就是检验输入空间中的每一个输入元素是否都产生正确的结果。域测试正是在分析输入域的基础上,选择适当的测试点以后进行测试的。
    7)符号测试
    符号测试的思想是允许程序的输入不仅仅是具体的数值数据,而且包含符号值,这一方法因此得名。
    8)路径覆盖
    着眼于路径分析的测试称为路径测试,完成路径测试的理想情况是路径覆盖。
    9)程序变异
    它是一种错误驱动测试,即该方法是针对某类特定错误的。
    2.黑盒测试
    黑盒测试也称功能测试,通过测试来检验每个功能是否都能够正常使用。测试初级人员在入职测试岗位时基本上从事的是黑盒测试,就是常说的“点点点测试”。因为测试人员不了解程序的内部结构和内部程序,因此只检查程序功能是否按照需求规格说明书的规定进行正常使用,通过模拟软件产品的最终用户使用该软件进行检查软件产品是否达到了用户的需求。黑盒测试只有采用穷举输入测试才能检查出程序中的所有错误,但是穷尽测试是不可能的,后期测试成本太高,因此需要通过测试方法进行用例量化测试。
    1)等价类划分法
    把程序的输入域划分为若干部分(常划分为有效部分和无效部分,也就是常说的有效等价类和无效等价类),然后从每个部分选取少数代表性数据作为测试用例,每一类的代表性数据在测试中的作用等价于这一类中的其他值。
    例如测试一组输入(0,10],其中10这个数据可以作为有效值进行测试,等价于(0,10]区间内的任意输入;100可以作为无效值进行测试,等价于(0,10]区间外的任意输入。
    2)边界值分析法
    边界值是输入在输入边界上的取值,该方法是通过选择等价类边界的测试用例。常用于测试参数的边界值,例如测试一组输入(0,10],其中的0和10两个数据就可以作为边界值进行测试。
    3)错误推测法推测
    该方法更适用于有经验的测试人员,它主要是基于经验和直觉推测程序中所有可能存在的错误,从而有针对性的设计测试用例。
    例如某输入条件只接受正整数,那我们就可以选取负数或小数进行验证。
    4)因果图法
    从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变)关系,通过图解的方法表示输入的各种组合关系写出判定表,从而设计相应的测试用例。
    常见的因果关系有:恒等(==)、非(~)、与(V)、或(^),运用这些因果关系作好图即可得出因果关系,设计测试用例。
    5)判定表驱动法
    通常由条件桩(列出所有条件)、动作桩(列出所有可能的操作)、条件项(列出所有条件的取值组合)、动作项(列出在条件项的各种取值情况下应该采取的动作)四部分组成的表格。
    6)正交试验设计法
    使用已经造好了的正交表格来安排实验并进行数据分析的一种方法,目的是用最少的测试用例达到最高的测试覆盖率.
    7)功能图法
    一个程序的功能说明通常由动态说明(描述输入数据的次序或转移的次序)和静态说明(输入与输出之间的对应关系)组成,用功能图形象地表示程序的功能说明,并机械地生成功能图的测试用例。
    8)场景分析法
    当前的软件几乎都是由事件触发来控制流程的,事件触发时的场景便形成了场景,通过描述测试场景的方法设计测试用例即为场景分析法。
    3.灰盒测试
    生活中有很多的问题都不是非黑即白的,测试也一样存在自己的灰盒测试。通过字面就知道灰盒测试是介于白盒测试和黑盒测试之间的测试。工作中,它更多用于集成测试阶段,不仅关注功能输入、输出的正确性,同时也注重程序内部的运行情况。所以灰盒测试相较于黑盒测试更关注程序的内部逻辑,同时不像白盒测试那样对代码测试的详细、完整,是测试者在了解系统组件之间的相互作用,但是缺乏对内部程序功能和运作的详细了解时进行测试时的推荐方法。

    更多相关内容
  • 常见的几种软件测试方法都有哪些

    千次阅读 2021-07-26 06:44:57
    随着互联网的不断发展,越来越多的人也都开始学习软件测试的相关技术,而今天我们就一起来了解一下,常见的几种软件测试方法都有哪些。1、单元测试单元测试测试的是代码库的单元。它们直接调用函数或单元,并确保...

    随着互联网的不断发展,越来越多的人也都开始学习软件测试的相关技术,而今天我们就一起来了解一下,常见的几种软件测试方法都有哪些。

    adb559399bdc9d8af049d9959cb2de8d.png

    1、单元测试

    单元测试测试的是代码库的单元。

    它们直接调用函数或单元,并确保返回正确的结果。

    在我们的应用中,我们的组件是单元。所以我们将为Button和Modal编写单元测试。没有必要为我们的应用组件编写测试,因为它没有任何逻辑。

    单元测试会浅渲染组件,并断言当我们与它们交互时,它们的行为是正确的。

    浅渲染意味着我们渲染组件一层深度。这样我们可以确保只测试组件,单元,而不是几个级别的子组件。

    在我们的测试中,我们将触发组件上的操作,并检查组件的行为是否与预期一致。

    2、快照测试

    快照测试是测试你的渲染组件的图片,并将其与组件的以前的图片进行比较。

    用JavaScript编写快照测试的好方法是使用Jest。

    Jest不是拍摄渲染组件的图片,而是渲染组件标记的快照。这使得Jest快照测试比传统快照测试快得多。

    3、端到端测试

    端到端(e2e)测试是高层测试。

    它们执行与我们手动测试应用程序时相同的操作。

    在我们的应用程序中,我们有一个用户(操作)旅程。当用户点击按钮时,模式将打开,当他们点击模式中的按钮时,模式将关闭。

    我们可以编写一个贯穿这一旅程的端到端测试。测试将打开浏览器,导航到网页,并通过每个操作来确保应用程序正常运行。

    这些测试将告诉我们,我们的单元正确地协同工作。它使我们高度自信,该应用程序的主要功能是可以正常工作的。

    对JavaScript应用程序来说有几种方法可以编写端到端测试。像testcafe这样的程序会记录您在浏览器中执行操作并将其作为测试源重播。

    还有类似nightwatch的项目,可让你用JavaScript编写测试项目。我会推荐使用类似nightwatch的库。拿起来直接用很容易,该测试运行速度比记录的测试更快。

    【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。

    展开全文
  • 软件测试方法可以分为几种?

    千次阅读 2021-05-27 14:01:26
    (1)白盒测试:又称为结构测试或逻辑驱动测试,是一种按照程序内部逻辑结构和编码结构,设计测试数据并完成测试的一种测试方法。 (2)黑盒测试:又称为数据驱动测试,把测试对象当做看不见的黑盒,在完全不考虑...

     

    目录

    软件测试方法:

    1、从是否关心内部结构来看

    2、从是否执行代码看

    3、从开发过程级别看

    4、从执行过程是否需要人工干预来看

    5、从测试实施组织看

    6、从测试所处的环境看

    软件测试的内容:


    软件测试方法:

    1、从是否关心内部结构来看

    (1)白盒测试:又称为结构测试或逻辑驱动测试,是一种按照程序内部逻辑结构和编码结构,设计测试数据并完成测试的一种测试方法。

    (2)黑盒测试:又称为数据驱动测试,把测试对象当做看不见的黑盒,在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正确性,它是站在使用软件或程序的角度,从输入数据与输出数据的对应关系出发进行的测试。

    (3)灰盒测试:是一种综合测试法,它将“黑盒”测试与“白盒”测试结合在一起,是基于程序运行时的外部表现又结合内部逻辑结构来设计用例,执行程序并采集路径执行信息和外部用户接口结果的测试技术。

    2、从是否执行代码看

    (1)静态测试:指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。

    (2)动态测试:是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能指标。

    3、从开发过程级别看

    (1)单元测试:又称模块测试,是针对软件设计的最小单位----程序模块或功能模块,进行正确性检验的测试工作。其目的在于检验程序各模块是否存在各种差错,是否能正确地实现了其功能,满足其性能和接口要求。

    (2)集成测试:又叫组装测试或联合,是单元测试的多级扩展,是在单元测试的基础上进行的一种有序测试。旨在检验软件单元之间的接口关系,以期望通过测试发现各软件单元接口之间存在的问题,最终把经过测试的单元组成符合设计要求的软件。

    (3)系统测试:是为判断系统是否符合要求而对集成的软、硬件系统进行的测试活动、它是将已经集成好的软件系统,作为基于整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、人员、数据等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。

    在系统测试中,对于具体的测试类型有:

    (3.1)功能测试:对软件需求规格说明书中的功能需求逐项进行的测试,以验证功能是否满足要求。

    (3.2)性能测试:对软件需求规格说明书的功能需求逐项进行的测试,以验证功能是否满足要求。

    (3.3)接口测试:对软件需求规格说明中的接口需求逐项进行的测试。

    (3.4)人机交互界面测试:对所有人机交互界面提供的操作和显示界面进行的测试,以检验是否满足用户的需求。

    (3.5)强度测试:强制软件运行在异常乃至发生故障的情况下(设计的极限状态到超出极限),验证软件可以运行到何种程序的测试。

    (3.6)余量测试:对软件是否达到规格说明中要求的余量的测试。

    (3.7)安全性测试:检验软件中已存在的安全性、安全保密性措施是否有效的测试。

    (3.8)可靠性测试:在真实的或仿真的环境中,为做出软件可靠性估计而对软件进行的功能(其输入覆盖和环境覆盖一般大于普通的功能测试)。

    (3.9)恢复性测试:对有恢复或重置功能的软件的每一类导致恢复或重置的情况,逐一进行的测试。

    (3.10)边界测试:对软件处在边界或端点情况下运行状态的测试。

    (3.11)数据处理测试:对完成专门数据处理功能所进行的测试。

    (3.12)安装性测试:对安装过程是否符合安装规程的测试,以发现安装过程中的错误。

    (3.13)容量测试:检验软件的能力最高能达到什么程度的测试。

    (3.14)互操作性测试:为验证不同软件之间的互操作能力而进行的测试。

    (3.15)敏感性测试:为发现在有效输入类中可能引起某种不稳定性或不正常处理的某些数据的组合而进行的测试。

    (3.16)标准符合性测试:验证软件与相关国家标准或规范(如军用标准、国家标准、行业标准及国际标准)一致性的测试。

    (3.17)兼容性测试:验证软件在规定条件下与若干个实体共同使用或实现数据格式转换时能满足有关要求能力的测试。

    (3.18)中文本地化测试:验证软件在不降低原有能力的条件下,处理中文能力的测试。

    4、从执行过程是否需要人工干预来看

    (1)手工测试:就是测试人员按照事先为覆盖被测软件需求而编写的测试用例,根据测试大纲中所描述的测试步骤和方法,手工地一个一个地输 入执行,包括与被测软件进行交互(如输入测试数据、记录测试结果等),然后观察测试结果,看被测程序是否存在问题,或在执行过程中是否会有一场发生,属于比较原始但是必须执行的一个步骤。

    (2)自动化测试:实际上是将大量的重复性的测试工作交给计算机去完成,通常是使用自动化测试工具来模拟手动测试步骤,执行用某种程序设计语言编写的过程(全自动测试就是指在自动测试过程中,不需要人工干预,由程序自动完成测试的全过程;半自动测试就是指在自动测试过程中,需要手动输入测试用例或选择测试路径,再由自动测试程序按照人工指定的要求完成自动测试)。

    5、从测试实施组织看

    (1)开发测试:开发人员进行的测试。

    (2)用户测试:用户方进行的测试。

    (3)第三方测试:有别于开发人员或用户进行的测试,由专业的第三方承担的测试,目的是为了保证测试工作的客观性。

    6、从测试所处的环境看

    (1)阿尔法测试:是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。

    (2)贝塔测试:是用户公司组织各方面的典型终端用户在日常工作中实际使用贝塔版本,并要求用户报告。

    软件测试的内容:

    1. 得到需求、功能设计、内部设计说书和其他必要的文档
    2. 得到预算和进度要求
    3. 确定与项目有关的人员和他们的责任、对报告的要求、所需的标准和过程 ( 例如发行过程、变更过程、等等 )
    4. 确定应用软件的高风险范围,建立优先级、确定测试所涉及的范围和限制
    5. 确定测试的步骤和方法 ── 部件、集成、功能、系统、负载、可用性等各种测试
    6. 确定对测试环境的要求 ( 硬件、软件、通信等 )
    7. 确定所需的测试用具 (testware) ,包括记录 / 回放工具、覆盖分析、测试跟踪、问题 / 错误跟踪、等等
    8. 确定对测试的输入数据的要求
    9. 分配任务和任务负责人,以及所需的劳动力
    10. 设立大致的时间表、期限、和里程碑
    11. 确定输入环境的类别、边界值分析、错误类别
    12. 准备测试计划文件和对计划进行必要的回顾
    13. 准备白盒测试案例
    14. 对测试案例进行必要的回顾 / 调查 / 计划
    15. 准备测试环境和测试用具,得到必需的用户手册 / 参考文件 / 结构指南 / 安装指南,建立测试跟踪过程,建立日志和档案、建立或得到测试输入数据
    16. 得到并安装软件版本
    17. 进行测试
    18. 评估和报告结果
    19. 跟踪问题 / 错误,并解决它
    20. 如果有必要,重新进行测试
    21. 在整个生命周期里维护和修改测试计划、测试案例、测试环境、和测试用具

     

    展开全文
  • 软件测试方法之黑盒测试与白盒测试 摘要:黑盒测试与白盒测试都是软件测试的重要方法。白盒测试是通过程序的源代码进行测试而不使用用户界面,它主要用于检测软件编码过程中的错误;而黑盒测试是是通过使用整个软件...

    软件测试方法之黑盒测试与白盒测试
    摘要:黑盒测试与白盒测试都是软件测试的重要方法。白盒测试是通过程序的源代码进行测试而不使用用户界面,它主要用于检测软件编码过程中的错误;而黑盒测试是是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的,它主要检测软件的每一个功能是否能够正常使用。他们是相辅相成的。
    关键词:黑盒测试;白盒测试;优缺点;软件测试
    【1】在这里插入图片描述

    1测试的概念
    1.1测试的定义
    测试的正确定义是“为了发现程序中的错误而执行程序的过程”。这和某些人通常想象的“测试是为了表明程序是正确的”“成功的测试是没有发现错误的测试”是完全相反的[1]。简而言之,找错的活动称测试。而测试的目的是找出软件设计开发全周期中各个阶段的错误,以便分析错误的性质与位置加以纠正。
    1.2软件测试的定义
    软件测试的定义是:“使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别[2]”。这个定义明确的指出了软件测试的目的是为了检验软件系统的是否符合需求,它并不是一个一次性的,而且是软件开发后期的活动,是整个开发流程的一部分。软件测试能够在软件投入运行前,对软件需求分析,设计规格说明和编码实现的最终的审核,它是软件质量得到保证的关键步骤。
    2.黑盒测试概念
    2.1黑盒测试概念
    黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。黑盒测试着眼于程序外部机构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
    2.2黑盒测试原理
    在进行黑盒测试时,测试者把程序看做一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当的接收输入数据而产生正确的输出信息,并保持外部信息的完整性[4]。例如:我们要去使用这个百度,比如说我搜索了诗人李清照,我点击百度一下,我只要得到的结果是有关于诗人李清照这样的词条出现,那么我就认为这个功能是正确的。使用黑盒子测试法不需要看到里面的这个代码实现是什么样子的,也不管里面是用Python实现的用Java实现的还是用其他编程语言实现的,只要管我的功能有没有实现。黑盒测试方法有边界值分析法、等价类测试法、因果图法、决策表法、错误推测法、Use Case法(场景法)、正交实验法等,主要用于确认测试。

    2.3黑盒测试的目的
    黑盒测试主要是为了发现以下错误:是否有不正确或者遗漏了的功能;在接口上,输入能否正确的接受;能否输出正确的结果;是否有数据结构错误或外部信息(例如数据库文件)访问错误;性能上是否能够满足要求;是否有初始化或终止性错误等。

    2.4黑盒测试的优缺点
    黑盒测试优点:上手简单,只需关注PRD和业务逻辑,测试者不受任何特定编程语言知识的压力,可以测试应用程序/软件的可靠性和功能性;用户视角,更贴合真实用户使用场景;有助于识别功能规范中矛盾和模糊性。
    黑盒测试缺点:测试质量高低受测试工程师经验影响,测试工程师的经验越高,对测试越有利;异常场景比较难覆盖,比较难提供直观的测试覆盖率;用例代码覆盖率低,不能用于测试复杂的代码段;测试所有可能的输入流是不可能的,因为这很耗时,并且最终将使许多程序路径未经测试。
    3.白盒测试
    3.1白盒测试概念
    白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部的工作过程,可通过测试产品内部动作是否按照规格说明书说明的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能[5]。其主要用于软件验证。
    3.2白盒测试原理
    软件的白盒测试是对软件的过程性细节做细致的检查。白盒测试把测试对象看做一个打开的的盒子,允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对所有逻辑路径进行测试,在程序的不同点检查程序的状态,来判定其实际情况是否和预期的状态相一致。白盒测试的主要方法有代码检查法、静态结构分析法、基本路径分析法、逻辑覆盖法等。

    3.3白盒测试的目的
    白盒测试主要是想对程序模块进行如下检查:对程序模块的所有独立的执行路径至少测试一遍;对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍;在循环的边界和运行的界限内执行循环体;测试内部数据结构的有效性,等等。
    3.4白盒测试的优缺点
    白盒测试优点:(白盒测试要求对某些程序的结构特性做到一定程度的覆盖,或者说是“基于覆盖率的测试”)迫使测试人员去仔细思考软件的实现;容易自动;用例覆盖率高,可以检查代码中的每条分支和路径;异常场景易发现;对代码的测试比较彻底,可以揭示隐藏在代码中的错误。
    白盒测试缺点:投入成本高,昂贵;更多以开发视角出发,容易脱离业务;无法检测代码中遗漏的路径和数据的敏感性错误;无法坚持程序的外部特征;白盒测试也并不验证规格的正确性;即使每条路径都测试了仍然可能有错误。
    5结论
    软件测试有一个致命的缺陷,即测试的不完全性、不确定性,这是因为任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试。黑盒测试与白盒测试相辅相成,各有所长,两者并不矛盾。且两者都是保障产品质量的不同手段,软件测试需要两者的结合。黑盒测试对于确保系统按照预期实现很关键,而实现黑盒测试并不需要掌握太多的编码知识,因为它检查的是整个软件或者软件功能,而不需要检查代码。这个时候进行白盒测试所需要掌握的了解系统的逻辑过程和工作原理更加重要。

    参考文献:
    [1]:软件工程导/章海藩,牟永敏编著.-6版-北京:清华大学出版社,2013(2020.6重印)
    [2]软件测试技术基础/苟英,中国水利水电出版社,2013
    [3]软件测试/郑人杰,人民邮电出版社,2011
    [4]软件测试技术/库波,中国水利水电出版社,2001
    [5]软件测试教程/贺平,电子工业出版社,2010
    图片来源网址:
    [1]:https://pic1.zhimg.com/v2-a460bdccc5afe14e3077ecb480271ef8_1440w.jpg?source=172ae18b

    展开全文
  • 软件测试方法分类

    千次阅读 2019-05-20 21:31:24
    软件测试方法按各种类划分为: 一. 按开发阶段划分 单元测试(模块测试) 单元测试是对软件组成的单元进行测试,其目的是检验软件基本组成单位的正确性 TDD(测试驱动开发),开发人员先不写代码,测试人员先写测试...
  • 软件测试方法与技术朱少民第三章答案部分答案3.综合应用边界值和等价类划分方法设计相应的测试用例,包括尽可能多的无效等价类;输入三个参数作为边,分别满足一般三角形,等腰三角形和等边三角形。答:边边边输出...
  • 软件测试方法

    万次阅读 2016-04-03 22:15:17
     软件测试方法 1. 软件测试方法包括:白盒测试(White Box Testing)、黑盒测试(Black Box Testing)、灰盒测试、静态测试、动态测试。 2. 白盒测试:是一种测试用例设计方法,在这里盒子指的是被测试的...
  • 常见的二十种软件测试方法详解(史上最全)

    万次阅读 多人点赞 2021-01-27 22:15:57
    测试方法:白盒测试(因为要测源码) 测试内容:模块接口测试(测试模块里面的参数传递是否正确)、局部数据结构测试(测试变量的作用域范围)、路径测试(if-else 判断必须覆盖所有分支)、错误处理
  • 白盒测试方法 一、概念 白盒测试也称结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。它可以形象得用下图表示: 二、白盒测试方法...
  • 软件测试方法大汇总

    万次阅读 多人点赞 2017-03-22 16:21:15
    软件测试方法种类繁多,记忆起来混乱, 如果把软件测试方法进行分类, 就会清晰很多。 我参考一些书籍和网上的资料, 把常用的软件测试方法列出来, 让大家对软件测试行业有个总体的看法。   从测试设计方法...
  • β测试软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。 当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。...
  • 软件测试之软件测试方法

    千次阅读 2019-06-15 15:50:40
    软件测试过程中,最主要的就是要掌握好软件测试的方法,掌握好了软件测试方法,有利于测试技能的大幅度提高。 软件测试方法 软件测试方法是指测试软件的方法。随着软件测试技术的不断发展,测试方法也越来越多样...
  • 软件测试常用方法

    千次阅读 2022-02-21 22:54:29
    软件测试常用方法
  • 软件测试方法和测试流程

    万次阅读 2015-07-28 20:09:58
    一、软件测试方法 软件测试方法可分为人工测试和机器测试: 人工测试包括个人复查、走查和会审; 机器测试可分为白盒测试和黑盒测试。  1、人工测试的方法  (1)个人复查  个人复查是指...
  • 软件测试常用方法实例与分析

    千次阅读 2022-02-22 23:28:51
    软件测试常用方法总结实例分析
  • 软件的开发过程中,有两类人是决定软件开发质量的,这两类人是开发人员和测试人员。这两类人必须紧密配合,充分合作,才能一起开发出完美的软件。两者之间在一个软件开发过程中,按照如下的关系紧密结合在一起: ...
  • 软件测试方法与过程

    千次阅读 2021-09-02 07:36:11
    目录 2.1 无法对软件进行完全的测试 2.1.1 无法进行完全测试的原因 ...2.4.1 软件测试方法的分类 2.4.2 从三个角度分析,对方法进行分类 2.4.3 (动/静)态测试方法的具体理解 2.4.5 人工测试和自动化测试 ..
  • (1)白盒测试:又称为结构测试或逻辑驱动测试,是一种按照程序内部逻辑结构和编码结构,设计测试数据并完成测试的一种测试方法。 (2)黑盒测试:又称为数据驱动测试,把测试对象当做看不见的黑盒,在完全不考虑...
  • 软件测试方法和策略

    万次阅读 多人点赞 2018-07-23 11:26:39
    什么是软件测试软件测试的目的与原则 在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 软件测试的目的: 测试是程序的执行过程,目的在于发现错误 一...
  • 软件测试方法和技术》电子课件之二

    千次下载 热门讨论 2008-04-22 22:37:07
    前 言 <br>第一篇 软件测试的原理 第1章 软件及其开发过程 第2章 软件测试的基本概念和方法 第3章 质量保证与测试策略 第4章 软件测试依据和规范 <br>第二篇 软件测试的技术 第5...
  • 软件测试——白盒测试方法

    千次阅读 2021-10-20 13:25:19
    白盒测试法检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,但即使每条路径都测试过了,但仍然有可能存在错误。因为:穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是...
  • 软件测试方法之正交试验测试方法

    千次阅读 2019-03-26 13:33:15
    优点:正交试验从全面试验中选出有代表性的点进行试验,减少了测试用例,合理地减少了测试的时间,提高测试效率,是一种高效率,快速,经济的测试方法; 缺点:每个状态点同等对待,重点不突出,容易造成在不常用...
  • 软件测试方法与测试策略

    千次阅读 2017-12-30 23:45:59
    测试方法:是指解决问题的技术手段或工具的集合。 测试策略:是指如何选择和运用方法来解决具体问题。策略定义了: * 要使用的测试方法和工具 * 测试要完成测试和测试成功的评价标准。如测试用例通过率95%,表示...
  • 软件测试方法的总结

    千次阅读 2015-11-07 19:20:08
    1、按是否查看程序内部结构分为: (1)黑盒测试(black-box testing):只关心输入和输出的结果。 (2)白盒测试(white-box testing):去研究里面的源代码和程序...黑盒测试也称功能测试或数据驱动测试,它是在已
  • 软件测试常用的七大方法

    万次阅读 多人点赞 2021-08-02 08:21:58
    软件测试常用的七大方法一、测试用例包含的十要素二、软件测试常用方法第一、等价类划分1、定义2、划分3、划分规则4、案例说明第二、边界值分析1、边界值上的三点2、边界值应用场景3、边界值方法应用步骤第三:判定...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,009,417
精华内容 403,766
关键字:

软件测试方法

友情链接: 1-程序.rar