`
lujar
  • 浏览: 512679 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

十大负面测试用例

阅读更多

   负面测试(Negative testing)是相对于正面测试(Positive testing)而言的。它们也是测试设计时的两个非常重要的划分。简单点说,正面测试就是测试系统是否完成了它应该完成的工作;而负面测试就是测试系统是否不执行它不应该完成的操作。形象一点,正面测试就象一个毕恭毕敬的小学生,老师叫我做什么,我就做什么;而负面测试就象一个调皮捣蛋的孩子,你叫我这样做,我偏不这样做,而且和你对着干。开发人员也是最讨厌修改此类bug的。

正面测试主要根据需求,功能说明书,设计文档等相关参考文档来执行测试,而负面测试则主要根据错误猜测,逆向思维来测试系统,一定程序上的的依赖测试人员的经验积累。

执行负面测试时,不单单要测试系统是否处理了用户的异常操作,还要检查系统对于这些异常操作是否给予了正确的错误提示。它是系统对用户进行继续正确操作的指引。

简言之负面测试的三部曲就是:

1、检查程序中的屏幕或页面是否给出了清晰且充分的提示或约束;
2、测试系统是否处理了用户的异常操作;
3、检查系统的错误提示是否清晰且充分。

以下是Steve Miller的《Top 10 Negative Test Cases》,概括性的提到了一些做负面测试时经常需要注意的测试。

负面测试用例被设计于用软件未意欲被使用的方式测试软件,它也应该是测试工作的一部分。以下就是在设计测试工作量时你应该考虑的十大负面测试用例。

1、植入的单引号。大多数基于SQL的数据库系统在用户存储包含一个单引号的信息时会出现问题,例如John's car。每一个可以接受文字数字型数据条目的屏幕都要试试输入包含一个或多个单引号的文本。

【补充】其实不只是单引号,基本上测试人员应该测试所有的特殊字符和空/空格(单纯的空格和文本前后的空格)。单引号,逗号,/,<,>(对于web的应用程序)都是很容易引发错误的。在开发早期测试组就可以建议开发组写一个通用的函数来处理这些特殊字符,然后在处理用户的输入时套用这个函数就可以避免此类错误了。

2、必需输入的数据条目。功能说明书上应该清楚的指出屏幕上必须输入数据条目的字段。测试屏幕上每一个被说明为必须输入的字段以保证它强制要求你在字段中输入数据。

【补充】对于强制输入的字段,在屏幕上最好有些标识以说明其为必须输入的字段。一般在字段前或后用红色的*号表示。测试时必须要检查有标识的字段是否和功能说明书或其他参考文档一致,错误信息提示是否正确,强制输入的字段是否真的必须输入。

3、字段类型测试。功能说明书上应该清楚的指出要求特定数据输入要求(日期字段,数字字段,电话号码,邮编等等)的字段。测试屏幕上每一个被指出有特定类型的字段以保证你输入了基于字段类型的符合正确格式的数据(数字型字段应该不允许字符或特殊字符,日期型的字段应该允许输入一个正确的日期等等)

【补充】其实这里还有一个字段格式和字段内容的测试。有些字段对输入的格式有要求,这些字段的格式一般在屏幕上也有相应的提示。所以在测试时需要测试提示的格式是否合理(和功能说明书或其他参考文档相一致)以及系统是否正确识别输入的格式。有些字段对字段的内容有限制,如常见的用户名,不能包含特殊字符,首字不能未数字等要求。所以在测试时需要测试提示的格式是否合理(和功能说明书或其他参考文档相一致)还有不符合内容要求的数据输入时系统是否正确的处理。

4、字段长度测试。功能说明书上应该清楚的指出可以在字段中输入的字符数(例如,first name必须是50个或更少的字符)。写测试用例以保证你只可以输入特定的字符数。防止用户输入比允许范围更多的字符比因用户已输入过多的字符而给出的错误信息更加的文雅些。

【补充】一般对于限制长度的字段,现在开发大多采用限制输入的方法(设置字段的长度)来处理。所以测试时需要测试限制的长度是否合理(和功能说明书或其他参考文档相一致),对于没有限制长度的字段,要测试无穷输入时是否出错,有问题报bug时建议开发人员根据需要限制长度。

5、数字型的边界测试。对于数字型的字段,测试上下边界是非常重要的。例如,如果你正在计算某个账户的利息时,你永远不会输入一个负的利息数给应该赢取利息的账户。因此,你应该尝试用负数测试。同样,如果功能说明书上要求字段在某一个特定的范围(如从10~50),你就应该尝试输入9或51,它应该给出一个得体的信息表示失败。

6、数字的约束测试。大多数数据库系统和编程语言允许数字条目被识别为整数或长整数。通常,整数的范围是从-32,767~32,767,长整数的范围从-2,147,483,648~2,147,483,647。对于那些没有特定边界限制的数字数据条目,用这些限制测试以确保不会出现数字的溢出错误。

【补充】小数型的数字字段同样也需要格外的测试。一般对于未指出数字类型的字段,尝试输入负整数,负小数,0,正整数,正小数进行测试。

不管是哪种数据库系统,对于数字一般都有多种数字类型。所以测试人员一定要测试的全面。

7、日期边界测试。对于日期型的字段,测试上下边界是很重要的。例如,如果你正在检查一个出生日期的字段,很大可能出生日期不能早于150年前。同样,出生日期应该不是将来的某一天。

【补充】一般来说,每种数据库系统的日期都有个范围,如SQL Server最小日期是1753年1月1日,所以如果是输入型的日期字段同样也应该测试早于1753的日期。

8、日期的有效性。对于日期字段,确保不允许无效的日期是很重要的(04/31/2007是一个无效的日期)。测试用例也应该检查闰年(每个第4年和第400年是一个闰年)。

9、web会话测试。很多的web应用程序依赖浏览器的会话来追踪已登录的用户,应用程序的设置等等。应用程序的大多数屏幕不被设计为没有首次登录就可以被运行。应用程序应该确保在打开应用程序的某一页面之前会话里有一个有效的登录。

10、性能的改变。当发布产品的最新版本时,应该有一套运行于识别屏幕(列出信息的屏幕,add/update/delete数据的屏幕等等)速度的性能测试。测试包里应该包括比较先前版本和现有版本性能统计值的测试用例。这个可以帮助识别那些可以证明是随着对现有版本的代码变更而引起的潜在的性能问题。

【补充】从第一条到第八条是我们在测试字段时常常需要做的测试,一般的测试人员都不陌生。第九条在测试web应用程序中会作为检查应用程序的安全性而做的一项测试。而第十条估计很多公司都不会将它考虑到测试的范畴中,一般最多也就是在测试用例中添加校验某一个操作是否在系统允许的响应时间里,很少去做这样的比较,除了一些有针对性的性能测试。

 
分享到:
评论

相关推荐

    十大负面测试用例new

    以下是对标题和描述中涉及的“十大负面测试用例”的详细解释: 1. **单引号植入**:测试时应考虑输入包含单引号的数据,因为这可能导致SQL注入攻击,影响基于SQL的数据库系统的正常运行。不仅要测试单引号,还应...

    十大负面测试用例。介绍测试用例的中常用负面测试用例。

    十大负面测试用例 负面测试是软件测试中的一种非常重要的测试方法,它可以帮助我们发现系统中的隐患和缺陷。下面是十大负面测试用例,用于帮助测试人员设计和执行负面测试。 1. 植入的单引号 在数据库系统中,单...

    软件测试中十大负面测试用例

    软件测试中十大负面测试用例负面测试(Negativetesting)是相对于正面测试(Positivetesting)而言的。它们也是测试设计时的两个非常重要的划分。简单点说,正面测试就是测试系统是否完成了它应该完成的工作;而负面测试...

    测试用例实例(含:功能测试用例、性能测试用例、兼容性测试用例)

    ### 测试用例实例知识点详解 #### 一、功能测试用例 **定义与目标:** 功能测试是一种软件测试类型,旨在验证软件的功能性需求是否按照预期的方式运作。功能测试通常涉及验证系统的输入、处理逻辑及输出是否符合...

    测试用例设计:测试用例的基本概念 测试用例的设计和编写 测试用例评估 测试用例的管理

    测试用例设计是软件质量保证的关键环节,它涵盖了测试用例的基本概念、设计与编写、评估以及管理等多个方面。理解并熟练掌握这些知识点对于确保软件产品的质量和稳定性至关重要。 首先,我们要了解测试用例的基本...

    web系统测试用例

    本文档将详细介绍 Web 系统测试用例模板的组成部分、测试用例设计、测试用例执行和测试用例报告等内容。 测试用例模板组成部分 Web 系统测试用例模板通常由以下几个部分组成: 1. 简介: testers 负责人、测试...

    测试用例内有三个测试用例相关文件

    在软件开发过程中,测试用例是确保产品质量的关键环节。测试用例是一组具体的步骤,用于验证系统的某个特定功能是否按照预期工作。它们是系统测试的基础,帮助找出潜在的缺陷和错误,以保证软件的可靠性和稳定性。本...

    软件测试用例模版.xls

    软件测试用例模版【仅供参考】软件测试用例模版【仅供参考】软件测试用例模版【仅供参考】软件测试用例模版【仅供参考】软件测试用例模版【仅供参考】软件测试用例模版【仅供参考】软件测试用例模版【仅供参考】软件...

    软件测试用例范文

    软件测试用例设计与实施 软件测试用例是软件测试中最重要的一步,为了确保软件的质量和稳定性,测试用例的设计和实施是至关重要的。本文将对软件测试用例进行详细的解释,并提供实用的测试用例设计和实施方法。 一...

    学生信息管理系统测试用例

    * 功能测试用例:这是测试用例的核心部分,包括被测试对象的介绍、测试范围与目的、测试环境与测试辅助工具的描述和功能测试用例。 文档介绍的重要性 文档介绍是测试用例的概述部分,它包含了文档目的、文档范围、...

    测试用例实例++非常详细

    测试用例示例测试用例示例测试用例示例测试用例示例测试用例示例测试用例示例测试用例示例测试用例示例测试用例示例测试用例示例测试用例示例

    华为android系统测试用例

    在IT行业中,测试用例是确保软件质量的关键环节,尤其是对于复杂的操作系统如Android而言。华为作为全球知名的智能手机制造商,其Android系统的测试用例设计尤为重要,因为它直接影响到用户体验和产品的市场竞争力。...

    华为——测试用例模板

    测试用例是软件开发过程中的重要组成部分,它详细定义了测试步骤、预期结果以及测试条件,确保产品的质量符合预设标准。华为作为全球知名的科技巨头,其在测试领域的实践和模板设计具有高度的专业性和实用性。华为...

    Excel模板软件测试用例.zip

    测试用例是这一过程中的核心工具,它详细定义了如何对软件进行测试以及预期的结果。本压缩包“Excel模板软件测试用例.zip”提供了一个Excel模板,用于编写和管理软件测试用例。这种模板的使用可以帮助测试团队更有效...

    网上书店测试用例.doc

    "网上书店测试用例.doc" 通过对网上书店测试用例文档的分析,可以总结出以下知识点: 一、文档介绍 * 文档目的:本文档的目的是为了提供网上书店测试用例,指导测试人员进行测试。 * 文档围:本文档的范围涵盖了...

Global site tag (gtag.js) - Google Analytics