发展

测试列表- 0,1,2,n

如果您是项目经理或业务分析师,当然如果您是软件开发人员或质量分析师,那么在某些时候您将需要测试列表。我有一种方法来充分练习这些列表,我称之为“0,1,2,N”测试。也许我该叫它" ZOT-N "测试?
在详细介绍这种方法以及为什么要使用它之前,让我们先讨论一下如何确定在哪里使用这个测试。换句话说,我们在哪里看到列表?在大多数情况下,这是直接的。当我们在测试的屏幕上看到一些重复的内容时,很可能这就是一个列表。最常见的例子有:

  • 显示多行数据的基于报告的屏幕,例如:
    • 搜索结果页面
    • 类别页面上的产品列表
    • 客户名单
    • 订单历史记录屏幕
  • 下拉/多选择输入,如:
    • 地理区域选择器
    • 信用卡类型选择器(我不确定为什么需要它,但我仍然会遇到它们)。
  • 一组按钮。例如:
    • 产品可能具有“添加到购物车”、“添加到愿望列表”或“查看更多详细信息”的选项。如果所有产品都有这三个按钮,这就不属于这个列表测试技术,但是如果一个产品可以配置为添加按钮,那么它就属于这个列表测试技术。
  • 在搜索结果屏幕的底部,有一个编号的页面选择器是一个列表的例子,它可以根据页面的数量进行更改。

这里的关键是所呈现的数据是可变的。也就是说,它可以根据用户正在寻找的内容、数据的当前状态或数据的预先设置方式进行更改。您将根据您输入的搜索词获得不同的搜索结果,系统中的不同客户将拥有不同的订单历史数据集,或者如果管理员具有添加或删除区域的能力,则选择器中的一组区域可能会发生变化。
当我在测试场景中遇到列表时,首先要考虑的是是否存在零条件。以下是我对前面一些例子的看法:

  • 搜索结果页面:当然,如果用户搜索不存在的东西,可能没有结果。
  • 类别页面上的产品列表:很可能是需求要求不显示空类别,但情况可能并非如此。
  • 客户列表:当然,您希望至少有一个客户,但是可能值得测试这个场景。
  • 区域或信用卡选择器:这些选择器可能配置为至少有一个选择。

如果有一个没有数据的有效场景,即使它是一个牵强的场景,我也会测试它。有时,开发人员会忽略这一点,并抛出空指针异常,或者在没有数据时显示在视觉上被破坏。有时,当没有数据时,会出现一些不同的情况,例如显示“没有发现结果”消息。
在几乎所有的场景中,列表中至少有一个数据元素是有效的选项,可能除了下拉选择器(如果只有一个选项可用,它就不是一个选择器)。测试列表中的一项很重要,因为这是一个开始也是结束的列表。从视觉上看,包含一个元素的列表通常与包含两个或多个元素的列表不同。对于一个元素可能不需要一些分隔符或填充符,而对于多个元素则需要。
实际上,我曾与开发人员争论是否有必要测试两个项目。我对测试这个场景持谨慎态度。对我来说,有一个两项的列表,其中有第一项,最后一项,但没有中间项。开发者可能只在中间数据条件下编写了一个水平条。
最后,你应该测试“N”个项目。这将根据您测试的内容而有所不同。N应该是一个数字,它测试的值略高于现实世界的预期最大限制,或者在测试场景中可以设置的某个极端值。在这个测试中,您的列表有开头、中间和结尾。此外,它还演练了当触及某个较大限制时发生的情况。数据是否不适合屏幕?屏幕是否不可用或无响应?
为了使事情更复杂,你可以在列表中有一个列表。考虑一个产品类别页面,其中产品以网格格式显示,例如三列乘N行,这取决于类别中有多少产品。我将使用基于产品数量的0、1、2、N技术来测试这个页面。对于屏幕上的数字或行,我也会使用这种技术,特别是在对水平和垂直条和间距有视觉要求的情况下。所以当我测试0个产品时,0行测试就已经被测试了。当我同时测试一个和两个产品时,将测试1行测试。我将用4个产品来测试2行,然后我的N检验将同时适用于产品的数量和行数。
分页也是列表中列表的另一个例子。分页页的列表由项列表指定。
在几乎所有情况下,从0到n要容易得多。我尝试从干净或没有数据开始测试。我非常认为这是一种功能或单元类型的测试,我只在最初测试带有列表的页面时进行这种测试。我倾向于不通过0、1、2和N个场景进行回归测试。
因为有些屏幕是动态的,所以测试列表可能会让人望而却步,但是使用这种技术可以加快测试屏幕所需的时间,同时确保适当的测试覆盖率。

作者简介

更多来自作者

留下回复

这个网站使用Akismet来减少垃圾邮件。了解如何处理您的评论数据

订阅每周博客文摘:

报名
类别