什么是破坏性检测和无损检测?(技术、方法、示例)
虽然大多数软件测试方法侧重于软件的功能方面,但破坏性测试强调检查软件的不可预测性。因此,它允许测试人员检测一般用户通常无法识别的罕见缺陷。
虽然DST涵盖了测试过程的关键部分,但它绝不是传统软件测试的替代品。因此,它通常与常规测试过程一起进行。
什么是破坏性软件测试?
破坏性软件测试(DST)是一种测试过程,在该过程中,测试人员自愿导致软件部分无法测试其强度和故障。无损测试(NDT),又名正面或快乐路径测试,涉及正确测试和与软件交互。
破坏性软件测试的好处
尽管破坏性测试不能替代传统软件测试(CST),但您一定想知道为什么首先要在其中投入时间和金钱。以下是破坏性软件测试的一些基本好处-
当软件使用不当时,它会发现故障点。
它允许检测普通用户无法检测但稍后会出现的罕见软件缺陷。
它使测试人员能够检查应用程序的耐用性、可恢复性和使用寿命。
它允许您发现缺陷并使软件适合新手用户。
执行破坏性测试的步骤
步骤1-在开始此测试周期之前,客户端需要发送应用程序副本或访问凭据和用户要求。
步骤2-在向QA分析师提出要求后,客户然后演示应用程序。
第3步-现在,轮到QA分析师确定软件内边界的功能,然后确定这些设置边界内应用程序的可用性限制。
第4步-QA测试人员将使用随机技术随机测试应用程序,同时保持在边界内。所有工作流程都经过测试,并记录错误。
步骤5-然后,测试人员与有关当局共享缺陷目录。
第6步-如果客户有不同看法,则将重复破坏性测试周期。
在破坏性测试中验证的元素-
检测应用程序中的适当和不当行为
如果应用返回有效或无效的输入数据
应用程序因使用不当而产生的反应
破坏性软件测试方法
有多种方法可以执行破坏性软件测试过程-
同行评审-测试人员可以让不熟悉软件的同行评审产品。这将帮助他们检测软件中隐藏的缺陷。
利益相关者的审查-测试人员可以允许利益相关者在有限的时间内使用软件。有时,这有助于发现测试人员经常遗漏的有效测试场景。
故障点分析方法-软件的每个角落都将在此方法中进行审查和检查。它有助于检测软件将在什么时候失败。
探索性测试-通过运行表使用此方法。测试人员将对测试内容有一个大致的了解,以便在需要时重复测试并控制测试覆盖率。
用不正确的数据淹没系统-使用损坏的数据,在用户界面中输入错误的序列等,以确定应用程序在哪一点失败。
破坏性测试技术
以下是破坏性测试中使用的技术-
自上而下的测试
系统测试
回归测试
回路测试
接口测试
等价划分
边界值测试
黑盒测试
Alpha/Beta测试
验收测试
要遵循的重要破坏性测试提示:
在对应用程序进行测试之前,将自己视为客户。
从用户故事中删除所有类型的偏见信息,例如故事描述、验收标准等。
尽最大努力破坏一切。
遵循异常路径而不是快乐路径。
在真实网络条件下进行测试,而不是使用高端机器或超高速网络。
什么是无损检测?
在无损检测(NDT)中,测试人员与软件正确交互。例如,在DST中,测试人员输入不正确或不可接受的变量,而在NDT中,可接受的数据用于查看软件是否接受它。
假设输入框只接受1-99之间的数字,因此这里的任务是输入范围内可接受的数字并验证软件的功能。
在无损检测中,测试工程师使用定义良好的测试用例。如果软件返回所需的输出而没有显示任何错误或异常,则认为测试成功。这意味着软件按预期工作。
无损软件测试的好处
以下是无损软件测试过程的好处:
它确保软件是高质量的,并且所有问题都已得到修复。
成功的NDT意味着软件按照要求的规格工作。
它确认利益相关者的所有期望都得到满足。
它表示该软件涵盖了所有性能要求。
它节省了用于产品评估和错误修复的大量金钱和时间。
何时进行无损检测?
无损检测是在SDLC的早期阶段进行的。这很重要,因为快乐路径是应用程序的命脉。如果它没有按预期工作,它将是测试过程的其余部分。此外,执行此测试所需的成本和时间相当低。预算有限的组织可以选择它来满足软件要求和验收标准。
无损软件测试技巧
测试人员必须使用积极的测试方法进行无损测试。
此测试的主要目的是验证应用程序在积极方面的行为。这意味着,测试人员必须在输入有效输入数据时看到软件运行良好。
破坏性和非破坏性测试之间的区别
结论
破坏性和非破坏性测试在软件测试周期中都扮演着重要的角色。虽然两者都至关重要,但无损与同类产品相比具有优势,因为它覆盖更多领域并允许企业节省材料成本。同时,破坏性测试可帮助企业发现软件中的罕见缺陷,这些缺陷通常不可见,但会妨碍用户体验。但是,进行此测试可能既昂贵又耗时。