精华内容
下载资源
问答
  • 软件测试小论文 题目学生成绩评测系统 姓名 班级 学号 分数_ 精选文档 组长 组员 职责 得分 组员 职责 得分 组员 职责 得分 2 精选文档 题目学校考试评测系统规定按照学生成绩给出学生的优秀良好 及格等评价输入成绩...
  • 黑盒测试: 不关心软件内部的逻辑,是关心输入和输出是否达到预期效果,相当把测试软件看成一个只有输入和输出的黑盒子。...灰盒测试:介于白盒黑盒测试之间,既关心输入和输出,又关心程序内部结构

      黑盒测试: 不关心软件内部的逻辑,是关心输入和输出是否达到预期效果,相当把测试的软件看成一个只有输入和输出的黑盒子。
      黑盒测试设计测试用例的方法:等价类、边界值、因果图法、正交法、场景法和错误猜测法


      白盒测试: 研究软件内部的程序逻辑和结构,验证是否满足软件需求,相当把软件当成一个可以看见内部结构的白色透明盒子去测试。
      白盒测试设计测试用例的方法:语句覆盖、逻辑覆盖、路径覆盖、条件覆盖、 判定覆盖、条件组合、判定组合、条件和判定组合。


      灰盒测试: 介于白盒和黑盒测试之间,既关心输入和输出,又关心程序内部结构。


      单元测试:

    展开全文
  • 软件测试小论文 题目 :学生成绩评测系统 姓名 班级 : 学号 : 分数 _ _ _ _ 组长 组员 组员 组员 职责 得分 职责 得分 职责 得分 : ?题目 : 学校考试评测系统规定按照学生成绩给出学生得优秀良好 及格等评价输入成绩 ...
  • 软件测试黑盒白盒.ppt

    2020-08-08 11:22:48
    2019/10/30 软件测试方法 2019/10/30 2 功能测试 数据驱动测试 结构测试 逻辑驱动测试 客户需求 事件驱动 输入 输出 2019/10/30 3 ? 黑盒测试 是从用户观点出发的测试它又称功 能测试数据驱动测试或基于规格说明书或...
  • 黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设

    1. 黑盒测试

    黑盒测试也称功能测试、数据驱动测试或基于规格说明书的测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
    在这里插入图片描述

    黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。
    在这里插入图片描述

    作用

    黑盒测试注重于测试软件的功能需求,主要试图发现下列几类错误。

    • 功能不正确或遗漏;
    • 界面错误;
    • 输入和输出错误;
    • 数据库访问错误;
    • 性能错误;
    • 初始化和终止错误等。

    黑盒测试的主要测试方法

    等价类划分法;边界值分析法;因果图法;场景法;正交实验设计法;判定表驱动分析法;错误推测法;功能图分析法。

    流程

    1. 测试计划

    首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准,以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。

    1. 测试设计与开发

    将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响到测试结果的有效性)。

    1. 测试执行

    执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理。测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。

    1. 测试评估

    结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。

    优点

    1. 对于较大的代码单元来说,黑盒测试比白盒测试效率较高。
    2. 测试人员不需要了解细节,包括特定的编程语言。
    3. 有助于暴露与任务规格不一致或者有歧义的地方。
    4. 测试用例可以在需求规格完成之后马上执行。
    5. 从用户的角度zd测试,很容易被理解和接受。

    缺点

    1. 不可能覆盖所有的代码, 覆盖率较低,大概只能达到总代码量的30%
    2. 如果测试人员,不被告知开发人员已经执行过的用例,在测试数据上会存在不必要的重复。
    3. 很多测试路径没有测试到。
    4. 不能直接对特定程序权段进行测试,改程序段可能隐藏更多错误。
    5. 大部分和研究相关的测试都是直接针对白盒测试的。
    6. 自动化测试的复用性较低。

    工具选择

    私用的话去找一些开源的工具就好,像OWASP ZAP、Arachni、Wfuzz、Nikto这几个都是免费开源的。
    更多介绍:
    https://www.cnblogs.com/parachuteInk/p/4419734.html

    2.白盒测试

    白盒测试又称结构测试或逻辑驱动测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。
    在这里插入图片描述
    在这里插入图片描述
    采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。在动态分析技术中,最重要的技术是路径和分支测试。下面要介绍的六种覆盖测试方法属于动态分析方法。

    白盒测试的主要测试方法

    白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。
    白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。

    六种覆盖标准发现错误的能力呈由弱到强的变化:

    1. 语句覆盖每条语句至少执行一次。
    2. 判定覆盖每个判定的每个分支至少执行一次。
    3. 条件覆盖每个判定的每个条件应取到各种可能的值。
    4. 判定/条件覆盖同时满足判定覆盖条件覆盖。
    5. 条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
    6. 路径覆盖使程序中每一条可能的路径至少执行一次。

    要求

    1. 保证一个模块中的所有独立路径至少被使用一次。
    2. 对所有逻辑值均需测试 true 和 false。
    3. 在上下边界及可操作范围内运行所有循环。
    4. 检查内部数据结构以确保其有效性。

    目的

    通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试;在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。
    特点
    依据软件设计说明书进行测试、对程序内部细节的严密检验、针对特定条件设计测试用例、对软件的逻辑路径进行覆盖测试。

    实施步骤

    1. 测试计划阶段:根据需求说明书,制定测试进度。
    2. 测试设计阶段:依据程序设计说明书,按照一定规范化的方法进行软件结构划分和设计测试用例。
    3. 测试执行阶段:输入测试用例,得到测试结果。
    4. 测试总结阶段:对比测试的结果和代码的预期结果,分析错误原因,找到并解决错误。

    优点

    1. 帮助软件测试人员增大代码的覆盖了吧,提高代码的质量,发现代码中隐藏的问题;

    缺点

    1. 程序运行会有很多不同的路径,不可能测试所有的运行路径
    2. 测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;
    3. 系统庞大时,测试开销会非常大。

    局限

    但即使每条路径都测试了仍然可能有错误。可能出现的情况如下:
    穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。
    穷举路径测试不可能查出程序中因遗漏路径而出错。
    穷举路径测试可能发现不了一些与数据相关的错误。

    工具挑选

    白盒测试常用工具介绍:
    https://blog.csdn.net/yrryyff/article/details/83715990

    3.灰盒测试

    灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。
    在这里插入图片描述

    定义

    灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识和与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。

    学术含义

    灰盒(Gray Box)是一种程序或系统上的工作过程被局部认知的装置。
    灰盒测试,也称作灰盒分析,是基于对程序内部细节有限认知上的软件调试方法。测试者可能知道系统组件之间是如何互相作用的,但缺乏对内部程序功能和运作的详细了解。对于内部过程,灰盒测试把程序看作一个必须从外面进行分析的黑盒。
    灰盒测试通常与web服务应用一起使用,因为尽管应用程序复杂多变,并不断发展进步,因特网仍可以提供相对稳定的接口。由于不需要测试者接触源代码,因此灰盒测试不存在侵略性和偏见。开发者和测试者间有明显的区别,人事冲突的风险减到最小。然而,灰盒测试相对白盒测试更加难以发现并解决潜在问题,尤其在一个单一的应用中,白盒测试的内部细节可以完全掌握。 灰盒测试结合了白盒测试和黑盒测试的要素。它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识和与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。灰盒测试涉及输入和输出,但使用关于代码和程序操作等通常在测试人员视野之外的信息设计测试。

    目的任务

    软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。软件测试在软件生存期中横跨两个阶段,通常在编写出每一个模块之后就对它做必要的测试(称为单元测试)。编码和单元测试属于软件生存期中的同一个阶段。在结束这个阶段后对软件系统还要进行各种综合测试,这是软件生存期的另一个独立阶段,即测试阶段。

    目的

    第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。
    第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。
    第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。

    测试任务

    1. 寻找Bug;
    2. 避免软件开发过程中的缺陷;
    3. 衡量软件的品质;
    4. 关注用户的需求。

    目标

    1. 确保软件的质量;
    2. 提高软件质量功能。

    感谢您的浏览!

    转载于:https://blog.csdn.net/zhang150114/java/article/details/90694717

    展开全文
  • 通过实验主要掌握黑盒法和白盒法设计测试用例的技术。 二、实验内容 为以下的三角形程序设计一组测试用例。这个程序的功能是,读入代表三角形边长的3个整数, 判断他们能否组成三角形。如果能够组成,则输出三角形是...
  • 1. 黑盒测试白盒测试的直观图  从图中可以直接看出来,黑盒测试就当整个程序是个黑盒子,我们看不到它里面做了些什么事情,只能通过输入输出看是否能得到我们所需的来测试。而白盒测试可以当盒子是透明的,...

    1. 黑盒测试和白盒测试的直观图

      从图中可以直接看出来,黑盒测试就当整个程序是个黑盒子,我们看不到它里面做了些什么事情,只能通过输入输出看是否能得到我们所需的来测试。而白盒测试可以当盒子是透明的,里面的一切我们都看的清楚,从而我们可以通过去测内部结构来测试。  

    2. 黑盒测试 (Black-Box Testing)

      黑盒测试又称为功能测试、数据驱动测试或基于规格说明书的测试,是一种从用户观点出发的测试。测试人员一般把被测程序当作一个黑盒子。

      黑盒测试主要测到的错误类型有:不正确或遗漏的功能;接口、界面错误;性能错误;数据结构或外部数据访问错误;初始化或终止条件错误等等。

      常用的黑盒测试方法有:等价类划分法;边界值分析法;因果图法;场景法;正交实验设计法;判定表驱动分析法;错误推测法;功能图分析法。

      · 等价类划分法

        等价类分为有效等价类和无效等价类,其中,有效等价类是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合;而无效等价类是指对于程序的规格说明来说是不合理的,没有意义的输入数据构成的集合。

        确定等价类的原则是:a. 在输入条件规定了取值范围或值的个数的情况下,则可以确定一个有效等价类和两个无效等价类,比如若规定的输入范围是1<x<10的所有数,则有效的是1~10内的任意数,而无效的是 -∞~0.9999 和10.00001~+∞; b. 在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,则可以确立一个有效等价类和一个无效等价类;c.在输入条件是一个布尔量的情况下,可以确定一个有效的等价类和一个无效的等价类;d. 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可以确立n个有效等价类和一个无效等价类;e. 在规定了输入数据必须遵守的规则的情况下,可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);f.在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将改等价类进一步的划分为更小的等价类。

      · 边界值分析法

        根据经验法则,大量的错误是发生在输入或输出范围的边界上的,而不是发生在输入输出范围的内部。因此针对各种边界情况涉及测试用例,可以查出更多的错误。而使用边界值的分析方法涉及测试用例,首先应确定边界情况。通常输入和输出等价类的边界,应当选取正好等于,刚刚大于或者刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

        边界值选择的原则: a. 如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围的边界的值作为测试输入数据。 例如,如果程序的规格说明中规定:“重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……”。作为测试用例,我们应取10及50,还应取10.01,49.99,9.99及50.01等;b. 如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数小一,和比最大个数大一的数作为测试数据。例如,一个输入文件应包括1~255个记录,则测试用例可取1和255,还应取0及256等。c. 将前面两个原则应用于输出条件,即涉及测试用例使输出值达到边界值及其左右的值。d.如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。e. 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例数据;f. 分析规格说明,找出其他可能的边界条件。

      · 因果图法

        因果图是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

        利用因果图生成测试用例的基本步骤有:1. 分析软件规格说明描述中哪些是原因(输入,包括前提条件,操作过程),哪些是结果(输出),并给每个原因和结果赋予一个标识符;2. 分析软件规格说明描述的语义,找出原因和结果之间,原因和原因之间的关系,根据这些关系,画出因果图;3. 在因果图上用一些记号表明约束或限制条件;4. 把因果图转换为判定表;5. 把判定表的每一列拿出来作为依据,设计测试用例。

        因果图的基本符号和约束符号:

        

      · 场景法

        场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景。其中,基本流就是正常的,正确场景;备选流一般指中断操作的。

      · 正交实验设计法

        使用正交试验设计法首先要知道正交表,正交表是研究多因素多水平的一种设计方法,它是格局正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是一种基于正交表的、高效率、快速、经济的试验设计方法。正交表由三个成分构成,Runs:正交表的行数,即实验的次数;Factors:正交表的列数,即因素数;Levels:水平数,任何单个因素能够取得的值的最大个数。 正交表的表现形式是:  L行数 (水平数因素数)   L runs(levels^factors  )。

        用正交表设计测试用例的步骤: 1. 有哪些因素(变量); 2.每个因素有那几个水平(变量的取值):用等价类划分出来的;3. 选择一个合适的正交表;4. 把变量的值映射到表中;5. 把每一行的各因素水平的组合作为一个测试用例;6. 加上你认为可以且没有在表中出现的组合。

        如何选择正交表呢?取行数最少的一个,情况分三种:1.因素数(变量)、水平数(变量值)相符;2. 因素数不相同: 取因素数最接近但略大的实际值的表;3. 水平数不相同: 有五个因素(变量)A、B、C、D和E。两个因素有两个水平(变量的取值)、两个因素有三个水平,一个因素有六个水平。行数取最少的一个( 行数取最少的一个(L49(78)、 L18(3661)

      · 判定表驱动分析法

        判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。判定表由以下部分构成: 1. 条件桩(Condition Stub):列出了问题的所有条件。通常认为列出的条件的次序无关紧要; 2. 动作桩(Action Stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束;3. 条件项(Condition Entry):列出针对它左列条件的取值在所有可能情况下的真假值; 4. 动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。

     

      · 错误推测法

        错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况, 根据它们选择测试用例。

        最后,对于黑盒测试的综合策略是:首先,考虑边界值分析法,边界值分析法是在任何情况下都必须使用的方法,因为经验表明这种方法设计的测试用例发现程序错误的能力最强。必要时用等价类划分方法补充一些测试用例。其次,可以用错误推测法再追加一些测试用例。这时,可以对照程序逻辑,检查已设计出的测试用例的逻辑覆盖率,如果没有达到要求的覆盖标准,应当再补充足够的测试用例;如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用因果图法。

    3. 白盒测试 (White-Box Testing)

      为什么要考虑白盒测试呢?举个栗子说明,设x=0,y=5, 程序设计z=y/x, 如果只考虑输入输出的黑盒测试,我们看不出程序内部的逻辑错误(分母不能为零),即使我们使用黑盒测试的测试用例覆盖的再全也发现不了这个问题,这个时候就要考虑使用白盒测试了。

      而什么是白盒测试呢?白盒测试也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。白盒测试法检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,但即使每条路径都测试过了,但仍然有可能存在错误。因为:穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序;穷举路径测试不可能检查出程序因为遗漏路径而出错;穷举路径测试发现不了一些与数据相关的错误。

      白盒测试需要遵循的原则有: 1. 保证一个模块中的所有独立路径至少被测试一次;2. 所有逻辑值均需要测试真(true)和假(false);两种情况;3. 检查程序的内部数据结构,保证其结构的有效性;4. 在上下边界及可操作范围内运行所有循环。

      白盒测试方法有:

      · 静态测试&动态测试

      静态测试是不用运行程序的测试,包括代码检查、静态结构分析、代码质量度量、文档测试等等,它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具(Fxcop)自动进行。动态测试则需要执行代码,也是我们用的最多的一种测试,通过运行程序找到问题,包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。

      · 单元测试

      · 代码检查

      · 同行评审

      · 技术评审

      要检验测试的效果,就要去看测试的覆盖率,当覆盖率越大,说明测试成效越好,软件的缺陷越少。但覆盖率不是目标(质量才是目标)而只是一种手段。测试覆盖率包括功能点覆盖率和结构覆盖率,其中,功能点覆盖率大致用于表示软件已经实现的功能与软件需要实现的功能之间的比例关系;而结构覆盖率包括语句覆盖率、分支覆盖率、循环覆盖率和路径覆盖率等等。

      而逻辑覆盖法中根据覆盖目标的不同和覆盖源程序语句的详尽程度,逻辑覆盖又可分为:语句覆盖; 判定覆盖;条件覆盖;判定/条件覆盖;组合覆盖;路径覆盖,且这些覆盖程度越往后越全。

    4. 灰盒测试 (Gray-Box Testing)

      灰盒测试更像是白盒测试和黑盒测试的混合测试,现阶段对灰盒测试没有更明确的定义,但更多的时候,我们的测试做的就是灰盒测试,即既会做黑盒测试又会做白盒测试。

    总结:

           黑盒测试就是不看代码测试,模拟最真实的用户使用环境。

           白盒测试是看代码测试,结合测试结果和代码逻辑来测试,有时候这种方式更能发现、找出问题,尤其是一些潜伏性bug。

            灰盒测试介于白盒测试与黑盒测试之间的一种测试方法,灰盒测试多用于集成测试阶段,它不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。灰盒测试看作是白盒测试和黑盒的结合体。

     

    展开全文
  • 黑盒测试白盒测试灰盒测试

    万次阅读 多人点赞 2019-05-30 11:55:41
    1. 黑盒测试 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。...黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试黑盒测试是以用户的角度...

    1. 黑盒测试

    黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
    黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

    作用
    黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误。
    功能不正确或遗漏;
    界面错误;
    输入和输出错误;
    数据库访问错误;
    性能错误;
    初始化和终止错误等。

    流程

    测试计划
    首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准,以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。
    测试设计
    将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响到测试结果的有效性)。
    测试开发
    建立可重复使用的自动测试过程。
    测试执行
    执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理。测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。
    测试评估
    结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。
    优点

    1. 基本上不用人管着,如果程序停止运行了一般就是被测试程序crash了
    2. 设计完测试用例之后,下来的工作就是爽了,当然更苦闷的是确定crash原因

    缺点
    3. 结果取决于测试用例的设计,测试用例的设计部分优势来源于经验,OUSPG的东西很值得借鉴
    4. 没有状态转换的概念,一些成功的例子基本上都是针对PDU来做的,还做不到针对被测试程序的状态转换来实现
    5. 就没有状态概念的测试来说,寻找和确定造成程序crash的测试例是个麻烦事情,必须把周围可能的测试例单独确认一遍。而就有状态的测试来说,就更麻烦了,尤其不是一个单独的testcase造成的问题。这些在堆的问题中表现的更为突出。

    工具选择

    如何高效地完成功能测试?选择一款合适的功能测试工具并培训一支高素质的工具使用队伍无疑是至关重要的。尽管现阶段存在少数不采用任何功能测试工具,从事功能测试外包项目的软件服务企业。短期来看,这类企业盈利状况尚可,但长久来看,它们极有可能被自动化程度较高的软件服务企业取代。
    用于功能测试的工具软件有很多,针对不同架构软件的工具也不断推陈出新。这里重点介绍的是其中一个较为典型自动化测试工具,即Mercury公司的WinRunner。
    WinRunner是一种用于检验应用程序能否如期运行的企业级软件功能测试工具。通过自动捕获、检测和模拟用户交互操作,WinRunner能识别出绝大多数软件功能缺陷,从而确保那些跨越了多个功能点和数据库的应用程序在发布时尽量不出现功能性故障。
    WinRunner的特点在于: 与传统的手工测试相比,它能快速、批量地完成功能点测试; 能针对相同测试脚本,执行相同的动作,从而消除人工测试所带来的理解上的误差; 此外,它还能重复执行相同动作,测试工作中最枯燥的部分可交由机器完成; 它支持程序风格的测试脚本,一个高素质的测试工程师能借助它完成流程极为复杂的测试,通过使用通配符、宏、条件语句、循环语句等,还能较好地完成测试脚本的重用; 它针对于大多数编程语言和Windows技术,提供了较好的集成、支持环境,这对基于Windows平台的应用程序实施功能测试而言带来了极大的便利。


    2.白盒测试

    白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。
    采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。在动态分析技术中,最重要的技术是路径和分支测试。下面要介绍的六种覆盖测试方法属于动态分析方法。

    测试方法
    白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。
    白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化:
    1.语句覆盖每条语句至少执行一次。
    2.判定覆盖每个判定的每个分支至少执行一次。
    3.条件覆盖每个判定的每个条件应取到各种可能的值。
    4.判定/条件覆盖同时满足判定覆盖条件覆盖。
    5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
    6.路径覆盖使程序中每一条可能的路径至少执行一次。

    要求
    1.保证一个模块中的所有独立路径至少被使用一次。
    2.对所有逻辑值均需测试 true 和 false。
    3.在上下边界及可操作范围内运行所有循环。
    4.检查内部数据结构以确保其有效性。
    目的
    通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试;在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。
    特点
    依据软件设计说明书进行测试、对程序内部细节的严密检验、针对特定条件设计测试用例、对软件的逻辑路径进行覆盖测试。

    实施步骤
    1.测试计划阶段:根据需求说明书,制定测试进度。
    2.测试设计阶段:依据程序设计说明书,按照一定规范化的方法进行软件结构划分和设计测试用例。
    3.测试执行阶段:输入测试用例,得到测试结果。
    4.测试总结阶段:对比测试的结果和代码的预期结果,分析错误原因,找到并解决错误。

    优点
    1.迫使测试人员去仔细思考软件的实现
    2.可以检测代码中的每条分支和路径
    3.揭示隐藏在代码中的错误
    4.对代码的测试比较彻底
    5.最优化

    缺点
    1.昂贵
    2.无法检测代码中遗漏的路径和数据敏感性错误
    3.不验证规格的正确性
    局限
    但即使每条路径都测试了仍然可能有错误。可能出现的情况如下:
    穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。
    穷举路径测试不可能查出程序中因遗漏路径而出错。
    穷举路径测试可能发现不了一些与数据相关的错误。
    工具挑选
    白盒测试
    白盒测试
    白盒测试主要用在具有高可靠性要求的软件领域,例如:军工软件、航天航空软件、工业控制软件等等。白盒测试工具在选购时应当主要是对开发语言的支持、代码覆盖的深度、嵌入式软件的测试和测试的可视化等。
    语言支持


    3.灰盒测试

    灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。

    定义
    灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识和与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。
    学术含义
    灰盒(Gray Box)是一种程序或系统上的工作过程被局部认知的装置。
    灰盒测试,也称作灰盒分析,是基于对程序内部细节有限认知上的软件调试方法。测试者可能知道系统组件之间是如何互相作用的,但缺乏对内部程序功能和运作的详细了解。对于内部过程,灰盒测试把程序看作一个必须从外面进行分析的黑盒。
    灰盒测试通常与web服务应用一起使用,因为尽管应用程序复杂多变,并不断发展进步,因特网仍可以提供相对稳定的接口。由于不需要测试者接触源代码,因此灰盒测试不存在侵略性和偏见。开发者和测试者间有明显的区别,人事冲突的风险减到最小。然而,灰盒测试相对白盒测试更加难以发现并解决潜在问题,尤其在一个单一的应用中,白盒测试的内部细节可以完全掌握。 灰盒测试结合了白盒测试和黑盒测试的要素。它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识和与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。灰盒测试涉及输入和输出,但使用关于代码和程序操作等通常在测试人员视野之外的信息设计测试。

    目的任务
    软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。软件测试在软件生存期中横跨两个阶段,通常在编写出每一个模块之后就对它做必要的测试(称为单元测试)。编码和单元测试属于软件生存期中的同一个阶段。在结束这个阶段后对软件系统还要进行各种综合测试,这是软件生存期的另一个独立阶段,即测试阶段。

    目的
    第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。
    第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。
    第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。

    测试任务
    1、寻找Bug;
    2、避免软件开发过程中的缺陷;
    3、衡量软件的品质;
    4、关注用户的需求。

    目标
    1、确保软件的质量;
    2、提高软件质量功能。


    关于更多黑盒、白盒、灰盒测试的说明,请参考百度百科,地址如下:
    https://baike.baidu.com/item/黑盒测试/934030?fr=aladdin
    https://baike.baidu.com/item/白盒测试/934440?fr=aladdin
    https://baike.baidu.com/item/灰盒测试/1906276?fr=aladdin

    展开全文
  • 实验1 黑盒测试 一实验目的与要求 1掌握等价类测试方法的原理步骤及应用 2掌握边界值分析法的原理步骤及应用 3掌握决策表测试方法的原理步骤及应用 二实验设备 1电脑PC 2office办公软件 三实验原理 一等价类测试法 1...
  • 软件测试黑盒测试&白盒测试

    千次阅读 2020-07-08 21:17:06
    软件测试方法总结 黑盒测试方法 等价类划分法 :分为有效类和无效类,有效类即能够满足需求的输入,无效类真好相反。列如(要求输入1-100的数:那么有效类就是1-100的数,无效类就是除了1-100的数,如字母、特殊...
  • 一、黑盒测试灰盒测试白盒测试概念 黑盒测试黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检验每个功能都是否能够正常使用。 白盒测试白盒测试也称结构测试或逻辑驱动测试...
  • 白盒黑盒的概念 黑盒测试技术 白盒测试技术 白盒黑盒的比较 黑盒白盒 X=2 Y=4 黑盒测试 又叫功能测试它关注的是被测软件功能的实 现而不是内部逻辑在黑盒测试中被测对象的内部结 构运作情况对测试人员是不可见...
  • 软件测试技术之白盒黑盒软件测试对于白盒黑盒测试技术,测试新人通常都喜欢问这类问题:1、目前所做的工作没有应用到白盒测试技术,都是手工测试,非常没有技术含量?2、很喜欢做测试,希望在测试工作中应用到...
  • 黑盒测试黑盒测试也称功能测试,它是在已知产品所应具有的功能上,通过测试来检测是否每个功能是否能够按照需求规格说明书的规定正常使用。我们通过程序的接口进行测试,看程序能否适当的接收输入数据而产生正确的...
  • 1.黑盒测试 黑盒测试:也可叫功能测试,是一种从用户角度出发的测试。把被测程序当作一个黑盒子,测试人员完全不用考虑盒子里面的逻辑结构和具体运作,只依据...灰盒测试:是介于白盒测试黑盒测试之间的一种测试
  • 从被测试对象的角度分类,测试方法可以分为黑盒测试白盒测试灰盒测试三种,这也是我们最常看到的分类方法。 任何一个程序在测试时都由这几部分组成:输入、程序的处理过程和输出三部分,如图1-1 所示。黑盒测试...
  • 软件测试按照测试技术划分可以有:黑盒测试,白盒测试,灰盒测试 黑盒测试又叫功能测试 1.软件黑色盒子,里边的实现,看不见代码 2.输入,输出结果—功能测试的方法 这是因为在黑盒测试中主要关注被测软件的功能实现...
  • 黑盒测试用例设计 决策表法 概述 在一个程序中,如果输入输出比较 多,输入之间输出之间相互制约 的条件比较多,在这种情况下使用 决策表更合适,它可以清楚地表达 它们之间的各种复杂关系 决策表法是黑盒测试方法中最为...
  • 从被测试对象的角度分类,测试方法可以分为黑盒测试白盒测试灰盒测试三种,这也是我们最常看到的分类方法。 任何一个程序在测试时都由这几部分组成:输入、程序的处理过程和输出三部分,如图1-1 所示。黑盒测试...
  • 软件测试中的黑盒白盒测试

    千次阅读 2020-12-10 11:03:22
    软件测试中,最常听到“黑盒测试”与“白盒测试”,它们是软件测试中最基本的测试方法。  那么究竟何为“黑盒”,何为“白盒”呢?下面就对其概念与常用方法进行一下介绍。 黑盒测试: 也称功能测试、数据驱动测试...
  • 软件的开发具有特定性,一般都是为了某种具体特定功能开发的,软件功能的描述依赖于在软件需求阶段的需求规格说明书的分析,软件在设计过程中被分成了一个或者是多个功能,保证这些功能能够正常运行的就是软件测试,...
  • 软件测试是一种用来促进... 对于软件测试分类,最被大家熟悉的是根据软件结构与算法的角度来分类的:白盒测试、黑盒测试与灰盒测试。  白盒测试又被称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试,是对...
  •  黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者...
  • 软件测试方法之黑盒测试与白盒测试 摘要:黑盒测试与白盒测试都是软件测试的重要方法。白盒测试是通过程序的源代码进行测试而不使用用户界面,它主要用于检测软件编码过程中的错误;而黑盒测试是是通过使用整个软件...
  • 软件工程黑盒白盒测试

    千次阅读 2021-01-12 19:15:02
    黑盒测试软件的具体实现过程无关,只关心结果; 所以又被称为功能测试白盒测试: 检查内部操作是否按规定执行,各功能是否得到充分的使用; 所以又被称为结构测试。 二、黑盒测试方法 有很多种方法,这里...
  • 文档来源于网络文档所提供的信息仅供参考之用不能作为科学依据请勿模... 决策表法是黑盒测试方法中最为严 格最具有逻辑性的测试方法 文档来源于网络文档所提供的信息仅供参考之用不能作为科学依据请勿模 仿文档如有不当
  • 软件测试黑盒白盒测试用例.doc
  • 基本概念:黑盒测试又为功能测试,不看代码,只对软件的功能进行测试,只检查程序功能是否能够按照需求规格说明书的规定 正常使用,程序是否能够适当地接受输入数据而产生正确的输出信息,并且保持外部信息(数据库...
  • 软件测试新手 白盒 黑盒测试 很适合新手学习的基础知识
  • 网络安全渗透测试严格定义是一种针对目标网络进行安全检测评估。 通常这种测试由专业的网络安全渗透测试专家完成,... 根据事先对目标信息的了解程度,网络安全渗透测试方法有黑盒测试白盒测试灰盒测试三种。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,295
精华内容 8,518
关键字:

软件测试黑盒白盒灰盒