什么是负面测试(带示例的测试用例)?
负面测试
负面测试 是一种 软件测试,它检查软件程序是否存在意外的输入数据和情况。异常数据或情况可能包括从不正确的数据类型到强大的网络安全漏洞。负面测试的目的是防止软件应用程序因负面输入而发生故障,并提高质量和稳定性。
我们只能通过进行 正面测试 来确保我们的技术在正常情况下有效。为了创建无错误的系统,我们必须确保我们的系统能够处理意外情况。
在本教程中,您将学习以下内容:
什么是负面测试?
负面测试示例
为什么要进行负面测试?
如何进行负面测试
负面测试的优点
负面测试的缺点
负面测试示例
考虑一下电梯的情况,这是一个众所周知的负面测试示例。
我们都熟悉电梯的操作。这些将被定义为电梯要求,例如按下楼层号按钮以允许电梯移动到该特定楼层。
当电梯到达目标楼层时,门打开,依此类推。
让我们看看电梯的一些最坏情况可能性。其中一些包括:
负面测试 | 正面测试 |
---|---|
如果人数(重量)超过最大允许值会发生什么? | 假设只有规定数量的人会使用电梯。 |
如果有人在电梯内吸烟或引发火灾会发生什么? | 电梯内部不会有烟雾或火灾。 |
如果机器运行时断电会发生什么? | 电梯运行期间不会断电。 |
所有这些情况都将进行负面测试。所有这一切的意义在于,我们不能保证所有这些都不会发生,因此我们必须限制它们。
查看以下场景:检查重量情况,如果存在超重情况,电梯运行异常。这可能会影响系统的可靠性,并可能危及人员的生命。这描述了什么是负面测试以及为什么它很重要。
软件中使用了相同的逻辑。我们偏离了负面测试的标准操作程序。让我们看几个例子。
例如,一个注册表单。
负面测试 | 正面测试 |
---|---|
在电子邮件字段中插入错误的电子邮件地址。 | 在电子邮件框中,只会插入真实的电子邮件地址。 |
在联系电话框中,尝试输入虚假的电话号码(字符)。 | 在数字字段中,只会插入数字。 |
添加大小超过给定限制的图像。 | 只会上传大小小于设置限制的照片。 |
在图片上传部分,上传错误的文件,例如 XML、SQL 等。 | 仅提交有效的图片格式,例如 jpg、png 等。 |
如前所述,我们必须确保我们的系统能够在所有这些不希望出现的场景下都能成功运行。考虑以下场景:有人在数字字段中输入字符,系统无法解释异常输入,因为它正在预期一个数字,并且系统出现故障。那么如果有人尝试 SQL 注入并从数据库中删除我们所有数据呢?这种潜在的损害对我们来说是无法承受的。因此,负面测试至关重要。
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
为什么要进行负面测试?
由于测试需要时间和资源,因此确定“什么”、“如何”和“多少”进行检查至关重要。我们必须做出明智的决定,以确定是否在我们的系统中进行负面测试。因此,让我们仔细看看为什么负面测试如此重要。
组织视角:
企业的职责是向客户提供高质量的产品。需要负面测试才能实现这一点。
在发生故障的情况下,负面测试是确认过程的一部分。
我们可能无法构建一个完全无错误的技术,但我们必须确保我们已采取一切可能的措施来避免故障,为此,我们必须进行负面测试。
我们必须检查的一个因素是影响。假设我们已经对电子商务网站进行了正面测试,以确保一切正常。但是,如果我们的系统确实存在缺陷,允许某人执行 SQL 注入并清除我们的所有信息会怎样?那将是重大的安全漏洞。负面测试也旨在阻止此类情况的发生。
对于面向公众的应用程序,主要是网站,我们必须始终牢记我们对应用程序的使用方法没有太多控制权,因此我们必须进行负面测试,以确保所有此类场景都得到覆盖和控制。
另一个需要记住的要点是,现在有很多黑客在寻找机会破坏系统。负面测试涵盖了一种称为黑客攻击的关键情况。
客户视角:
客户通常希望获得零风险的产品,因此需要负面测试。如果产品至关重要,例如电子商务或在线股票,则需要安全性和负面测试。
公司对负面测试的主要关注点是成本。但是,在评估影响后,由客户决定是否进行负面测试。
如何进行负面测试?
为了进行负面测试,我们必须评估所有可能的情况。也就是说,如果可能,我们必须将其包含在测试用例中,即使这不是使用它的正确方法。例如,当我们看到一个电子邮件框时,请考虑除实际电子邮件格式之外的所有可能条目。同样,如果我们看到一个图片上传框,我们必须使用每个可用的文件来验证它。
在构建负面测试用例时,我们必须优先考虑输入;否则,将会有大量的示例。例如,在一个仅允许“.png”文件的图像字段中,我们可以有多种上传选项,例如“jpeg”、“XML”、“Xls”等。因此,我们必须优先考虑这些选项。例如,XML 和 SQL 可能比 jpeg 和 xls 具有更高的影响力,因此我们应该首先针对 SQL 和 XML 场景。在这种情况下,我们必须在执行之前优先考虑这些实例,以节省测试的时间和成本。
负面测试的优缺点:
负面测试,就像所有其他测试方法一样,都有优点和缺点,这些优点和缺点主要由“在哪里”、“何时”和“如何”使用它们来决定。让我们仔细看看这一点。
负面测试的优点
由于我们都明白,负面测试对于确保产品质量至关重要。为了保证负面测试非常重要,优质产品是零风险产品。
负面测试确保所有可能的情况都得到解决。负面测试用例可能是有意或无意产生的。因此,为了确保所有实例都得到解决,我们必须进行正面和负面测试。
负面测试将在上线前为客户提供更大的信心。
负面测试的缺点
在某些情况下,软件工程中的负面测试是浪费金钱和精力的。在许多情况下,不需要进行强烈的负面测试。例如,如果一个应用程序是为单个用户设计的,我们不必探索 100 个用户同时使用该系统的后果。因此,在负面测试场景中选择标准至关重要。在某些情况下,我们不需要对特定系统进行负面测试。
负面测试用例必须由受过教育的专业人员创建。
根据客户的说法,负面测试是导致不必要的发布延迟和成本的另一个来源。
有可能一个团队会将更多工作和注意力投入到负面测试中。测试人员可能会将大量时间和资源投入到负面测试中,从而导致对正面测试的关注减少。