一、软件测试简介
软件测试简介
软件测试是通过考虑软件的所有属性(可靠性,可伸缩性,可移植性,可重用性,可用性)和评估软件组件的执行来查找软件错误或缺陷来识别软件正确性的过程。
软件测试提供了软件的独立视图和目标,并确保软件的适用性。它涉及在所需服务下测试所有组件,以确认它是否满足指定的要求。该过程还向客户提供有关软件质量的信息。
测试是强制性的,因为如果软件由于缺乏测试而导致任何时间失败将是一种危险的情况。因此,没有测试软件就无法部署到最终用户。
测试是一组用于在预定义脚本下确定应用程序正确性的技术,但是,测试无法找到应用程序的所有缺陷。测试的主要目的是检测应用程序的故障,以便发现和纠正故障。它并未证明产品在所有条件下都能正常运行,但仅表明它在某些特定条件下无法正常工作。
测试提供了比较软件的行为和状态与机制的比较,因为该机制可以识别问题。该机制可以包括相同指定产品的过去版本,可比较产品,以及预期目的,相关标准或其他标准的界面,但不限于这些。
测试包括检查代码以及各种环境中的代码执行,条件以及代码的所有检查方面。在当前的软件开发方案中,测试团队可能与开发团队分开,以便从测试中获得的信息可用于纠正软件开发过程。
软件是否成功取决于对目标受众的接受,简单的图形用户界面,强大的功能负载测试等。例如,银行业务的受众与视频游戏的受众完全不同。因此,当企业在开发软件产品时,它可以评估软件产品是否对其购买者和其他受众有益。
二、软件开发生命周期
软件开发生命周期
软件开发生命周期(SDLC)是一个创建软件开发结构的过程,SDLC中有不同的阶段,每个阶段都有自己不同的活动,它使开发团队能够设计,创建和交付高质量的产品。 SDLC描述了软件开发的各个阶段和阶段的执行顺序,每个阶段都需要在软件开发的生命周期中从前一阶段交付。需求转化为设计,设计转化为开发和开发成测试,经过测试后提供给客户。 软件开发周期的不同阶段如下所示:
1. 需求阶段
这是开发团队和项目经理的软件开发生命周期中最关键的阶段。在此阶段,客户说明要求,规格,期望以及与产品或软件相关的任何其他特殊要求。所有这些都是由业务经理或项目经理或服务提供公司的分析师收集的。 要求包括如何使用产品以及谁将使用产品来确定操作的负载。从此阶段收集的所有信息对于根据客户要求开发产品至关重要。
2. 设计阶段
设计阶段包括根据需求阶段对新软件的详细分析。这是系统开发生命周期中的高优先级阶段,因为系统的逻辑设计转换为物理设计。需求阶段的输出是所需事物的集合,设计阶段为实现这些需求提供了方法。所有必需的基本工具的决定,如Java,.NET,PHP等编程语言; 数据库,如Oracle,MySQL,硬件和软件的组合,提供了一个平台,软件可以在这个平台上运行而没有任何问题。 有几种技术和工具,如数据流图,流程图,决策表和决策树,数据字典和结构化字典用于描述系统设计。
3. 建设/发展阶段
在成功完成需求和设计阶段之后,下一步是将设计实现到软件系统的开发中。在这个阶段,工作分成小单元,编码由开发团队根据前一阶段讨论的设计开始,并根据需求阶段讨论的客户要求产生所需的结果。 前端开发人员开发简单且有吸引力的GUI和必要的接口,以便与后端操作进行交互,后端开发人员根据所需的操作进行后端编码。所有这些都是根据项目经理演示的程序和指南完成的。 由于这是编码阶段,因此在软件开发生命周期中,开发人员需要花费最长时间和更集中的方法。
4. 测试阶段
测试是完成软件系统的最后一步。在此阶段,在获得开发的GUI和后端组合之后,将根据需求阶段中的要求对其进行测试。测试确定软件是否实际按照需求阶段中的要求提供结果。开发团队制定测试计划以开始测试。该测试计划包括所有类型的基本测试,例如集成测试,单元测试,验收测试和系统测试。在此阶段也进行了非功能性测试。 如果软件中存在任何缺陷,或者它没有按预期工作,那么测试团队会向开发团队提供有关该问题的详细信息。如果它是一个有效的缺陷或值得理清,它将被修复,开发团队将其替换为新的,并且还需要进行验证。
5. 部署/交付阶段
当软件测试完成且结果令人满意,并且软件工作中没有余留问题时,就可以将它交付给客户供其使用。当客户收到产品,建议他们首先进行beta测试。在beta测试中,客户可以要求软件中没有但在需求文档或任何其他GUI更改中提及的任何更改,以使其更加用户友好。除此之外,如果客户使用该软件时遇到任何类型的缺陷; 它将通知该特定软件的开发团队以解决问题。如果这是一个严重的问题,那么开发团队会在短时间内解决它,否则,如果它不那么严重,那么它将等待下一个版本。 在解决了所有类型的错误和变更后,软件最终部署到最终用户。
6. 维护阶段
维护阶段是SDLC的最后和持久阶段,因为它是一直持续到软件生命周期结束的过程。当客户开始使用软件时,实际问题就开始发生,那时需要解决这些问题。此阶段还包括对硬件和软件进行更改以维持其运营效率,例如:提高其性能,增强安全功能以及根据客户的要求和即将到来的时间。这个不时处理产品的过程称为维护。
“因此,所有这些都是软件开发生命周期(SDLC)的六个阶段,在这个阶段,软件开发过程发生。所有这些都是强制阶段,没有任何一个开发是不可能的,因为开发在软件的生命周期中持续进行维护”。
三、软件测试生命周期
软件测试生命周期
软件测试的过程也称为STLC(软件测试生命周期),其中包括测试过程的各个阶段,测试过程以精心策划和系统的方式执行,所有活动都是为了提高软件产品的质量,下面来看看STLC的不同阶段。 软件测试生命周期包含以下阶段:
1. 需求分析
手动测试程序的第一步是需求分析。在此阶段,测试人员分析SDLC(软件开发生命周期)的需求文档,以检查客户所述的要求。在检查要求后,测试人员制定测试计划以检查软件是否满足要求。
进入条件 - 对于测试计划需求规范的规划,应该提供应用程序体系结构文档和明确定义的验收标准。
活动行为 - 准备所有要求和查询的列表,并从技术经理/主管,系统架构,业务分析师和客户处获得解决。列出要执行的所有类型的测试(性能,功能和安全性)。列出测试环境详细信息,其中应包含执行测试用例的所有必要工具。
交付成果 - 列出可测试要求和测试环境详细信息的所有必要测试。
2. 测试计划
创建测试计划的创建是STLC的关键阶段,它定义了所有测试策略,测试人员确定整个项目的估计工作量和成本。此阶段在成功完成需求分析阶段后进行,此阶段提供的测试策略和工作量估算文档。成功完成测试计划创建后,可以开始测试用例执行。
进入条件 - 需求文档活动行为 - 定义目标以及软件的范围,列出测试中涉及的方法,测试过程概述。测试环境的解决,准备测试计划和控制程序,角色和责任的确定,列出测试可交付成果,定义风险(如果有)。
交付成果 - 测试策略文档。测试估算文件是此阶段的交付成果。
3. 环境设置
测试环境的设置是一项独立的活动,可以与测试用例开发一起启动。这是手动测试程序的重要部分,因为没有环境测试无法进行。环境设置需要一组必要的软件和硬件来创建测试环境。测试团队不参与设置测试环境,而是创建测试环境的高级开发人员完成。
进入条件 - 测试策略和测试计划文档,测试用例文档、测试数据。
活动行为 - 通过分析需求规范来准备软件和硬件列表,在设置测试环境之后,执行测试用例以检查测试环境的准备情况。
交付成果 - 执行报告。缺陷报告。
4. 测试用例
执行测试用例在成功完成测试计划后执行。在此阶段,测试团队启动案例开发和执行活动。测试团队记下详细的测试用例,并在需要时准备测试数据。准备好的测试用例由团队的同行成员或质量保证负责人进行审核。 RTM(需求可追溯性矩阵)也在此阶段准备。需求可跟踪性矩阵是行业级格式,用于跟踪需求。每个测试用例都与需求规范一起映射。可以通过RTM完成向后和向前可追溯性。
进入条件 - 需求文档。
活动行为 - 创建测试用例。执行测试用例。根据要求绘制测试用例。
交付成果 - 测试执行结果。具有缺陷详细说明的功能列表。
5. 缺陷记录
测试人员和开发人员根据测试覆盖范围,质量,时间消耗,成本和关键业务目标评估软件的完成标准。此阶段确定了软件的特性和缺点。深入分析测试用例和错误报告,以检测缺陷的类型及其严重性。 缺陷记录分析主要用于根据严重程度和类型找出缺陷分布。如果检测到任何缺陷,则将软件返回给开发团队以修复缺陷,然后在测试的所有方面对软件进行重新测试。 一旦测试周期完全完成,然后测试关闭报告,并准备测试指标。
进入条件 - 测试用例执行报告。缺陷报告
活动行为 - 它根据测试覆盖率,质量,时间消耗,成本和关键业务目标评估软件的完成标准。缺陷记录分析通过对类型和严重性进行分类来找出缺陷分布。
交付成果 - 关闭报告,测试指标
6. 测试周期
关闭测试周期结束报告包括与软件设计,开发,测试结果和缺陷报告相关的所有文档。如果存在具有相同规范的软件,此阶段将评估开发策略,测试过程,可能的缺陷,以便将来使用这些实践。
进入条件 - 所有与软件相关的文档和报告。
活动行为 - 如果存在具有相同规范的软件,则评估开发策略,测试过程,将来可能存在的缺陷以使用这些实践。
交付成果 - 测试结束报告。
四、质量保证和软件质量控制
质量保证和软件质量控制
软件质量保证(也称为QA)是一系列任务,用于防止缺陷并确保为特定应用程序设计的技术,方法,方法和过程必须正确实施。这是软件系统开发过程中的持续过程。 应用程序单元的开发按照其开发顺序在质量保证规范下进行检查,质量保证测试确保了高质量软件的开发,因为它主要关注软件开发过程中的高质量流程,良好的质量管理体系和定期的一致性审核。它是一种管理工具,包括计划和系统的活动和文件,以防止与质量有关的问题。
软件质量保证的责任不是任何特定的团队,而是开发团队的每个成员的责任:
1、软件质量保证可防止缺陷。
2、软件质量保证是面向过程的。
3、软件质量保证在流程和预防性方面具有前瞻性。
4、软件质量保证是一种管理工具。
5、每个开发人员都负责软件质量保证。
软件质量控制
软件质量控制也称为质量控制,是一系列任务,通过识别缺陷和纠正开发软件中的缺陷来确保软件质量。这是一个被动的过程,此过程的主要目的是在发布软件之前纠正所有类型的缺陷。通过纠正工具消除问题根源(导致质量低下),从而使软件能够满足客户的要求和高质量,从而完成该过程。
质量控制的责任在于一个特定的团队,称为测试团队,通过验证和纠正工具测试软件的缺陷:
1、质量控制提供缺陷识别。
2、质量控制是以产品为导向。
3、质量控制是一种纠正工具。
4、测试团队负责质量控制。
5、质量控制是一个反应过程。
6、质量保证与质量控制的区别。
软件质量保证与质量控制的区别如下表所示:
项目 | 质量保证 | 质量控制 |
---|
定义 | 质量保证是一组活动,可确保始终保持软件开发过程中使用的过程质量。 | QC是一组用于检测已开发软件中的缺陷的活动。 |
关注重点 | QA的重点是通过关注流程来防止开发软件中的缺陷。 | QC的重点是通过关注测试过程来识别开发软件中的缺陷。 |
如何做 | 建立高质量的管理系统,并定期审核开发软件的操作是否符合要求。 | 通过使用开发软件中的测试技术和工具来检测和消除质量问题元素。 |
为什么做 | 质量保证通过使用包括文档在内的系统活动来确保质量问题的预防。 | QC通过使用流程和技术来实现和维护高质量的软件,从而确保识别和消除缺陷。 |
面向 | 质量保证是面向流程的。 | QC是面向产品的。 |
过程类型 | 质量保证是一个积极主动的过程。 | QC是一种反应过程,因为它涉及在产品开发之后和产品发布之前识别缺陷。 |
责任 | 开发团队的每个成员都负责QA | 只有特定的测试团队负责QC |
示例 | 验证软件流程。 | 检验软件功能和流程。 |
五、软件手动测试
软件手动测试
手动测试是一种软件测试过程,需要手动执行测试用例而不是使用自动化工具。测试人员根据最终用户的角度手动执行所有测试用例,它确保应用程序是否正如需求文档中所述那样工作。计划和实施测试用例以完成几乎100%的软件应用程序。测试用例报告也是手动生成的。
手动测试是最基本的测试过程之一,因为它可以找到软件的可见和隐藏缺陷。由软件给出的预期输出和输出之间的差异被定义为缺陷。开发人员修复了缺陷并将其交给测试人员进行重新测试。
在自动化测试之前,每个新开发的软件都必须进行手动测试这项测试需要付出很大的努力和时间,但它确保了无错误的软件。手动测试需要手动测试技术的知识,但不需要任何自动测试工具。
手动测试至关重要,因为其中一个软件测试基础是“100%自动化是不可能的”。有各种方法可用于手动测试。根据其测试标准使用每种方法,手动测试的类型如下:
如何进行手动测试
首先,测试人员检查与软件相关的所有文档,以选择测试区域。
测试人员分析需求文档以涵盖客户声明的所有要求。
测试人员根据需求文档开发测试用例。
通过使用黑盒测试和白盒测试手动执行所有测试用例。
如果出现错误,则测试团队会通知开发团队。
开发团队修复错误并将软件交给测试团队进行重新测试。
手动测试的优点
使用黑盒方法时不需要编程知识。
它用于测试动态变化的GUI设计。
测试人员将软件作为真实用户进行交互,以便他们能够发现可用性和用户界面问题。
它确保软件百分百无错误。
它具有成本效益。
易于学习新测试人员。
手动测试的缺点
它需要大量的人力资源。
这非常耗时。
测试人员根据他们的技能和经验开发测试用例。没有证据表明他们已经涵盖了所有功能。
测试用例不能再次使用。需要为每个新软件开发单独的测试用例。
它不提供测试的所有方面的测试。
由于两个团队一起工作,有时很难理解彼此的动机,它可能会误导这个过程。
手动测试工具
Selenium - Selenium用于测试Web应用程序。
Appium - Appium用于测试移动应用程序。
TestLink - TestLink用于测试管理。
Postman - Postman用于API测试。
Firebug - Firebug是一个在线调试器。
JMeter - JMeter用于任何应用程序的负载测试。
Mantis - Mantis用于跟踪错误。
六、软件自动测试
软件自动测试
当使用自动化测试工具执行测试用例套件时,称为自动化测试。测试过程通过使用特殊的自动化工具来控制测试用例的执行并将实际结果与预期结果进行比较。自动化测试需要相当大的资源和资金投入。
通常,重复动作在自动化测试中进行测试,例如:回归测试,自动化测试中使用的测试工具不仅用于回归测试,还用于自动GUI交互,数据设置生成,缺陷记录和产品安装。
自动化测试的目标是减少手动测试用例,但不能消除任何测试用例。可以使用自动化工具记录测试套件,测试人员可以根据要求再次播放这些套件套件。自动化测试套件不需要任何人为干预。自动化软件测试
自动化测试的生命周期
自动化测试的生命周期是一种系统的方法,用于以有限的资源提供最大的测试覆盖率来组织和执行测试活动。测试的结构涉及多步骤过程,该过程支持执行任务所需的,详细的和相互关联的活动。
自动化测试的生命周期包括以下组件:
1、决定自动化测试
这是自动化测试生命周期方法论(ATLM)的第一阶段。在此阶段,测试团队的主要重点是管理测试的期望,并找出正确应用自动化测试的潜在好处。
1、在采用自动化测试服务时,组织必须面对许多问题,其中一些问题如下:
2、自动化测试需要测试工具专家,所以第一个问题是指定一个测试设备专家。
3、第二个问题是,选择用于测试特定功能的确切工具。
4、设计和开发标准在实施自动化测试过程中的问题。
5、分析各种自动化测试工具,选择最佳的自动化测试工具。
6、金钱和时间的问题发生在测试开始时金钱和时间的消耗很高。
2、测试工具选择
测试工具选择代表自动化测试生命周期方法(ATLM)的第二阶段。该阶段指导测试人员评估和选择测试工具。
由于测试工具几乎支持所有测试要求,因此测试人员仍需要查看系统工程环境和其他组织需求,然后列出工具的评估参数。测试工程师根据提供的样本标准评估设备。
3、范围介绍
此阶段代表自动化测试生命周期方法(ATLM)的第三阶段。自动化范围包括应用程序的测试区域。范围的确定基于以下几点:
1、每个软件应用程序持有的软件应用程序的常用功能。
2、自动化测试设置可重用的业务组件范围。
3、自动化测试决定业务组件的可重用性程度。
4、应用程序应具有特定于业务的功能,并且必须在技术上可行。
5、在跨浏览器测试的情况下,自动化测试提供了重复的测试用例。
此阶段确保整体测试策略应在需要时进行妥善管理和修改。为了确保技能的可用性,针对特定软件应用程序所需的特定技能分析特定成员和整个团队的测试技能。
4、测试计划与开发
测试计划和开发是自动化测试生命周期方法学(ATLM)的第四个也是最重要的阶段,因为这里定义了所有测试策略。在此阶段确定了长期测试活动的规划,标准和指南的创建,硬件,软件和网络的所需组合的安排,以创建测试环境,缺陷跟踪程序,控制测试配置和环境的指导方针。测试人员确定整个项目的估计工作量和成本。测试策略和工作量估算文档是此阶段提供的可交付成果。成功完成测试计划后,可以开始测试用例执行。
5、测试用例执行
测试用例执行是自动化测试生命周期方法论(ATLM)的第六阶段。它在成功完成测试计划后进行。在此阶段,测试团队定义测试设计和开发。现在,测试用例可以在产品测试下执行。在这个阶段,测试团队使用自动化工具启动案例开发和执行活动。准备好的测试用例由测试团队的同行成员或质量保证负责人进行审核。
在执行测试程序期间,测试团队指示遵守执行计划。执行阶段实施先前在测试计划中定义的集成,验收和单元测试等策略。
6、审查和评估
审查和评估是自动化测试生命周期的第六个也是最后一个阶段,但该阶段的活动在整个生命周期中进行,以保持持续的质量改进。改进过程通过评估矩阵,审查和评估活动来完成。
在审查期间,审查员集中讨论特定度量是否满足验收标准,如果是,则可以在软件生产中使用。它是全面的,因为测试用例涵盖了应用程序的每个功能。
测试团队进行自己的调查,以询问过程的潜在价值; 如果潜在的好处不够,测试团队可以更改测试工具。该团队还提供样本调查表,以询问最终用户关于软件产品的属性和管理的反馈。
自动化测试的优势
自动化测试比手动测试花费的时间更少。
如果重复执行相同操作多次,则测试者可以测试软件的响应。
自动化测试提供了测试用例的可重用性,可用于测试同一软件的不同版本。
自动化测试是可靠的,因为它通过以相同方式再次执行测试用例来消除隐藏错误。
自动化测试非常全面,因为测试用例涵盖了应用程序的每个功能。
它不需要很多人力资源,而是编写测试用例并手动测试,他们需要一个自动化测试工程师来运行它们。
自动化测试的成本低于手动测试,因为它需要一些人力资源。
自动化测试的缺点
自动化测试需要高水平的熟练测试人员。
它需要高质量的测试工具。
当遇到不成功的测试用例时,整个事件的分析很复杂。
测试维护是昂贵的,因为需要高费用许可证测试设备。
如果没有解决效率较低的错误,则必须进行调试,这可能会导致致命的结果。
七、软件系统测试
软件系统测试
系统测试包括测试完全集成的软件系统,通常,计算机系统是通过软件集成制成的,换句话说,一组软件的计算机系统执行各种任务,但只有软件才能执行任务,软件必须与兼容的硬件接口。系统测试是一系列不同类型的有目的的测试行使和审查针对需求的集成软件的计算机系统的全部工作。
软件测试分为四个级别:单元测试,集成测试,系统测试和验收测试,所有这些都用于测试目的。单元测试用于测试单个软件; 集成测试用于测试整个系统系统,系统测试用于测试整个系统,验收测试用于测试业务需求的可接受性。在这里,我们讨论系统测试,这是第三级测试级别。
有两种测试软件的方法
1、白盒测试
2、黑盒测试
白盒测试它使用内部编码来设计测试用例。
黑盒测试下的系统测试,包括测试软件的外部工作。测试遵循用户的观点来识别微小缺陷。
系统测试包括以下步骤:
1、验证要测试的应用程序的输入函数。
2、通过外围设备测试集成软件,以检查各个组件之间的相互作用。
3、测试整个系统的端到端测试。
4、通过auser的经验测试应用程序的行为。
系统测试的类型
系统测试超过50种类型,但软件测试公司使用其中的一些,这些列表如下:
回归测试它确保在开发过程中所做的任何更改都失败了保证,随着时间的推移,新软件的添加不存在旧缺陷。
负载测试
负载测试正在进行中,检查系统是否可以在实时负载下进行。
功能测试
测试仪执行应该在系统中的重要功能列表,并且可以在功能测试期间添加,并且应该提高系统的质量。
恢复测试
恢复测试用于测试系统的可靠性,可信度和责任性的过程中是成功的。
迁移测试
所以它应该没有任何问题进行修改。
可用性测试这样做的目的是确保系统熟悉用户。
软件和硬件测试
该系统测试旨在检查硬件和软件的兼容性。硬件配置必须与软件兼容。兼容性通过提供硬件和软件提供灵活性。
为什么系统测试很重要?
系统测试可以100%保证系统性能,因为它涵盖了系统的端到端功能。
它包括测试系统软件架构和业务需求。
即使在生产之后,它也有助于缓解实时问题和错误。
系统测试使用现有系统和新系统将相同数据添加到功能和功能。
八、软件冒烟测试
软件冒烟测试
在从开发团队接收构建软件时,冒烟测试(Smoke Testing)就出现了。测试的目的是确定软件是否可测试。它是在“构建软件”时完成的。该过程也称为“第0天”。
这是一个节省时间的过程。它减少了测试时间,因为关键错误不是固定的。冒烟测试的重点是应用程序的核心和主要功能的工作流程。
进行冒烟测试的过程
冒烟测试不需要设计测试用例。只需要很少的用例。
如上所述,关于核心应用程序工作流程的冒烟测试(Smoke Testing),选择涵盖应用程序主要功能的测试用例套件。测试用例的数量应尽量减少,执行的时间尽可能不要超过半小时。
实时示例:
假设在电子商务网站上使用,该网站的核心工作应该是登录,特定搜索,将项目添加到购物车,将项目添加到收藏夹,付款选项等。经过测试,测试人员必须对应用程序的运行充满信心。
工作流程的步骤如下:
1、点击项目(页面)
2、页面应该是打开的
3、点击添加到购物车
4、购物车应该打开
5、点击立即购买
6、应显示付款选项。选择其中之一。
7、下单
8、付款
9、冒烟测试
如果此功能正常工作,则测试人员希望在测试中通过它,然测试应用程序的下一个功能。
九、软件健全测试
软件健全测试
在接收开发团队的软件构建(代码中的微小更改)时进行的完整性测试,理智测试的目的是确保所有缺陷都得到解决,这是一种回归测试,仅关注一些受影响的功能。
可以在两种情况下进行健全性测试:一种是在第二次增强的情况下,一种是在缺陷固定的情况下。它确保代码或函数中所做的更改不会对相关模块产生影响,因此无法应用。
进行健全性测试的过程
同样,冒烟测试测试人员不需要是一个单独的测试用例进行健全性测试。测试人员只需要测试已设计的测试用例中的修改或缺陷固定功能的情况。修改或有缺陷的功能已经过测试; 测试人员使用他之前完成的相同测试用例。
实时示例:
我们举个例子,获取任何支付网站的功能帐户,测试人员修改并修复了帐户功能中可能发生的一些缺陷,健全测试测试对修改的功能执行测试,即功能是否正常工作。
健全性测试检查修改或缺陷固定功能,它不检查端到端功能。它是回归测试的子集。
十、冒烟测试与健全测试区别
冒烟测试与健全测试区别
冒烟测试与健全测试比较和区别如下表所示:
编号 | 冒烟测试 | 健全测试 |
---|
1 | 它是一种测试应用程序所有部分测试位置的广泛方法。 | 它是一种测试应用程序特定部分的狭隘方法。 |
2 | 它通过执行严格的测试来测量系统的稳定性。 | 它通过执行严格的测试来衡量系统的合理性。 |
3 | 烟雾测试可以手动或自动进行。 | 可以在没有测试用例或脚本的情况下完成健全性测试。 |
4 | 它由测试人员和开发人员执行。 | 它仅由测试人员执行。 |
5 | 测试是在没有深入的情况下完成的,但是每当需要时,测试人员必须深入研究 | 完整性测试不需要深入了解应用程序。 |
6 | 烟雾测试记录到文档。 | 完整性测试不用记录到文档。 |
7 | 它用于测试应用程序的端到端功能。 | 它仅用于测试修改或缺陷固定功能。 |
8 | 它被视为验收测试的子集。 | 它被认为是回归测试的一个子集。 |