什么是负面测试(带有示例的测试用例)?

负面测试

否定测试是一种软件测试,它检查软件程序中不可预见的输入数据和情况。异常数据或情况的范围可能从不正确的数据类型到强大的网络安全漏洞。负面测试的目标是防止软件应用程序因负面输入而出现故障,并提高质量和稳定性。

我们只能通过进行积极的测试来确保我们的技术在正常情况下正常工作。为了创建一个无错误的系统,我们必须保证我们的系统可以管理不可预见的情况。

您将在本教程中学习以下内容 -

  • 什么是负面测试?

  • 负面测试示例

  • 为什么要做负面测试?

  • 如何进行负面测试

  • 负面测试的优势

  • 负面测试的缺点

负面测试示例

想想电梯的情况,这是一个众所周知的负面测试的例子。

我们都熟悉电梯的操作。这些将被定义为电梯要求,例如按下楼层编号按钮以允许电梯移动到该特定楼层。

当电梯到达目标楼层时,门打开,依此类推。

让我们来看看电梯的一些最坏情况。其中一些包括 -

负面测试阳性测试
What follows if the number of individuals (weight) surpasses the maximum allowed?假设只有规定的人数会使用电梯。
What if someone smokes or starts a fire inside the elevator?电梯内不会有烟、火。
What happens if the electricity goes off while the machine is running?电梯运行时不会停电。

所有这些情况都将受到负面测试。这一切的意义在于,我们不能保证所有这些都不会发生,因此我们必须对其加以限制。

查看以下场景:检查称重情况,如果出现超重情况,电梯运行异常。这可能会影响系统的可靠性,并可能危及人们的生命。这描述了什么是负面测试以及为什么它很重要。

软件中使用了相同的逻辑。我们偏离了阴性测试的标准操作程序。让我们看几个例子。

以注册表为例。

负面测试阳性测试
Insert an incorrect email address in the email field.在邮箱中,只会插入真正的电子邮件地址。
In a contact number box, try entering a fake phone number (characters).在数字字段中,只会插入数字。
Add an image with a size that exceeds the given limit.只有尺寸小于设置限制的照片才会上传。
In the picture upload section, upload incorrect files such as XML, SQL, and so on.仅提交有效的图片格式,例如 jpg、png 等。

如前所述,我们必须确保我们的系统在所有这些不良情况下都能成功运行。考虑以下场景:有人在数字字段中输入一个字符,系统无法解释异常输入,因为它正在预测一个数字和系统故障。那么,如果有人尝试 SQL 注入并从数据库中删除我们所有的数据?这种潜在的损害太大,我们无法忍受。因此,阴性测试至关重要。

为什么是负面测试?

由于测试需要花费时间和资源,因此确定要检查的“什么”、“如何”和“多少”至关重要。我们必须就是否在我们的系统中进行负面测试做出明智的决定。那么,让我们仔细看看为什么负面测试如此重要。

组织观点-

为客户提供高质量的产品是企业的工作。要实现这一点,需要进行负面测试。

在失败的情况下,需要进行否定测试作为确认过程的一部分。

我们可能无法构建出完全没有错误的技术,但我们必须确保已采取所有可能的步骤来避免故障,为此,我们必须进行负面测试。

我们必须检查的一个要素是效果。假设我们已经在一个电子商务网站上进行了积极的测试,以确保一切正常。但是,如果我们的系统中确实存在允许某人执行 SQL 注入并清除我们所有信息的缺陷怎么办?这将是严重的安全违规。负面测试也旨在阻止这些类型的情况。

对于面向大众的应用程序,主要是网站,我们必须不断考虑到我们对应用程序的使用方法没有太多控制权,因此我们必须进行负面测试,以确保所有此类场景都得到覆盖和控制。

要记住的另一点是,现在有几个黑黑客正在寻找破坏系统的机会。负面测试涵盖了一种称为黑客攻击的关键情况。

客户视角-

客户通常想要零风险商品,因此需要进行负面测试。如果产品是关键的,例如电子商务或在线库存,则需要进行安全和负面测试。

该公司对阴性测试的主要担忧是费用。但是,在评估影响后,由客户决定是否进行负面测试。

如何做阴性检测?

为了进行负面测试,我们必须评估所有可以想象的场景。也就是说,如果它是可以想象的,我们必须将它包含在测试用例中,即使它不是使用它的正确方法。例如,当我们看到一个电子邮件框时,请考虑除实际电子邮件格式之外的所有潜在条目。同样,如果我们看到一个图片上传框,我们必须用每个可用的文件来验证它。

在构建负面测试用例时,我们必须优先考虑输入;否则,会有大量的例子。例如,在只允许 '.png' 文件的图像字段中,我们可以有多种上传选项,例如 'jpeg'、'XML'、'Xls' 等。因此,我们必须优先考虑替代方案。例如,XML 和 SQL 可能比 jpeg 和 xls 具有更高的影响,因此我们应该首先针对 SQL 和 XML 场景。在这种情况下,我们必须在执行实例之前对实例进行优先级排序,以节省测试时间和金钱。

负面测试的利弊 -

负面测试,就像所有其他测试方法一样,有优缺点,主要取决于“在哪里”、“何时”和“如何”使用它们。让我们仔细看看这个。

负面测试的优势

  • 众所周知,负面测试对于确保产品质量至关重要。为了保证负面测试极其重要,优质的产品是零风险的产品。

  • 负面测试确保解决所有可能的场景。负面测试用例可能有意或无意地出现。因此,为了确保解决所有实例,我们必须同时进行正面和负面测试。

  • 负面测试将使客户在上线前更加确定。

负面测试的缺点

  • 在某些情况下,软件工程中的负面测试是浪费金钱和精力。在某些情况下,不需要进行强烈的阴性测试。例如,如果一个应用程序是为单个用户设计的,我们就不必研究 100 个用户同时使用该系统的影响。因此,在负面测试场景中选择标准至关重要。有时我们不需要对某个系统进行负面测试。

  • 负面测试用例必须由受过教育的专业人士创建。

  • 据客户称,负面测试是不必要的发射延迟和费用的另一个来源。

  • 一个小组有可能将更多的工作和注意力投入到负面测试上。测试人员可能会花费大量时间和资源进行阴性测试,从而减少对阳性测试的关注。