文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

软件测试中负面测试的完整指南

2024-12-02 14:32

关注

【51CTO.com快译】软件测试至关重要,因为可以测试开发的应用程序是否正常工作。而软件测试人员可以实施各种类型的测试。

尽管种类众多,但所有测试都属于两种分类之一:正面测试和负面测试。这两种测试同样重要,而正面测试比负面测试更受欢迎。

本文将介绍软件测试中的负面测试,测试人员为什么会避免实施负面测试;还介绍如何在实践中执行负面测试以及将出现哪些负面测试场景,并分析正面测试和负面测试之间的区别,最后探讨了负面测试的好处。

什么是负面测试?

软件测试是检查应用程序的基本功能是否按照其设计正常工作的过程。与此同时,它验证应用程序是否具备处理问题和无效输入的能力。

负面测试是指软件测试的负面方法,也称为故障测试或错误路径测试。它旨在通过设计测试用例来发现应用程序的负面特征,它揭示了应用程序如何响应无效数据,并将预期输出与错误输出进行比较。

为什么测试人员避免进行负面测试?

尽管很有用,但负面测试似乎在软件测试人员中名声不佳。许多软件测试人员不愿进行负面测试,因为他们认为这可能会不必要地延迟软件或应用程序的发布。

有些测试人员认为负面测试是一种浪费时间和资源的行为,他们认为最好将时间和精力投入到正面测试中。

缺乏有关的技能和知识也阻碍了测试人员实施负面测试。因此并非每个人都完全了解该软件的工作原理及其局限性。

尽管负面测试的名字是负面的,但会带来积极的结果。由于以下原因,它应该是软件测试策略的重要组成部分:

软件开发商需要向客户提供优秀的软件产品。负面测试与正面测试相结合对于确保应用程序的稳定性是必要的。虽然软件开发商可能无法完全保证应用程序没有错误,但至少可以通过负面测试尽量减少失败。

客户将软件项目委托给软件开发商,因为相信他们有能力创建出色的软件。如果涉及在线股票、电子商务和其他敏感的商业交易,高质量的软件就显得尤为重要。

如果软件开发商的目标是获得客户满意度,负面测试至关重要。尽管如此,由客户决定是否愿意投资执行负面测试所需的额外费用。

如何在实践中进行负面测试

以下是用来对软件应用程序执行负面测试的一些技术和实践:

这一方法涉及为边界限制之外的值编写测试用例。例如,如果测试的文本字段接受1到100个字符范围内的数据,则边界限制为1到100。

这是一种测试软件程序功能的技术。它需要将输入值分组到不同的分区中。可以在每个分区中测试一些输入值。

这一过程查明触发故障或错误消息的特定条件。如果可能,应该尝试在不会发生系统崩溃的情况下识别和纠正问题。但在某些情况下,如果错误情况没有被立即关注和解决,错误的结果可能会导致极端的“下游”故障。

这是一种基本但至关重要的方法,用于记录计划测试的错误情况。软件测试的清单通常与错误猜测一起使用。

如果有设计模式,反模式就是它们的对立面。如果前者是解决问题的最佳方式,那么后者则是行不通的解决方案。反模式是负面测试的理想来源。

这一技术用于在测试进行时增加测试人员对应用程序的了解。它可以与其他测试同时进行。探索性测试可以让他们清楚地了解应用程序的哪些方面有效,哪些方面无效。

这是一种揭示内存错误、代码缺陷和其他问题的方法,这些问题在生产使用中偶尔会暴露出来。它需要执行相同的动作数千次才能看到它对程序的影响。

这一过程涉及随机数据的输入,这可能会导致意外故障、崩溃和问题。与其他负面测试用例不同,模糊测试没有预设的预期结果。它只是对由于任意输入而可能发生的情况的观察。

这是一种用于发现应用程序中的缺陷的技术。它源于这样一种概念,即软件只能在一个时间点以一种特定的状态存在。例如在出现问题之前,程序被认为处于正常运行状态。

负面测试场景

执行负面测试的目的是查明应用程序在不同情况下可能出现的故障。以下是一些可能意外发生错误和崩溃的潜在情况:

某些软件和网页展示了需要用户填写的字段。可以设计一个测试,将必填字段留空,以便评估应用程序对此场景的响应。

大多数数字表单和对话框都能够以某种形式接收数据,例如文本、数字、日期和时间。可以进行测试,将错误的数据类型输入到控件中,以查看应用程序在这种情况下的反应。

一些软件程序包含的输入字段只接收特定数字或文本范围内的数据。测试人员可以设计一个输入值低于或高于特定字段边界的测试。

有些网页和应用程序的字段只允许用户输入有限数量的字符。测试人员可以选择概念化测试,其中在字段中输入的字符多于通常允许的字符数。

某些Web浏览器要求用户在加载网页之前先登录。测试人员可以执行测试,尝试在不事先登录的情况下在应用程序中打开网页。

某些程序和网页具有合理限制的字段。测试人员可以进行负面测试,在该字段中输入无效数据。

正面测试和负面测试之间的区别

与负面测试相反,正面测试是一种软件测试,可以确保应用程序在正常情况下正常工作。下表概述了正面测试和负面测试之间的主要区别:

负面测试的好处

正面测试有其优势,但负面测试也有其重要的优势。以下是负面测试软件应用程序的一些好处:

它可以避免因错误处理Bug而导致的应用程序故障。它可以帮助确认软件代码是否停止管理已经编程的用例。它还可以防止客户端无法访问修复Bug所需数据的情况。

负面测试允许确保客户无法访问计划中的个人帐户,以防不允许这样做。它使测试人员能够在必要时阻止一组用户使用应用程序的专门功能。

如果一个程序的数据库只包含有效数据,它就会处于良好状态。负面测试可以增加应用程序只存储和显示有效信息的可能性。

原文A Complete Guide to Negative Testing in Software Testing,作者:Vakul Gotra

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

来源:51CTO内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯