• 0
  • 0
分享
  • 关于测试用例,你知道多少?——软件测试圈
  • 曼倩诙谐 2023-03-28 11:00:59 字数 2170 阅读 1493 收藏 0

  前言

  在此之前我搜集一些关于测试用例的知识,后来在我们的QQ群里专门定了一期讨论,来探讨测试用例,毕竟这是一个很大的话题,很难做到面面俱到,但我会尽量全面,用通俗的语言来说测试用例。

1-1.jpg

  1、测试用例(test cases)的概念是什么?

  测试用例是一组有条件的用例,QA可以依靠这些条件来确定应用程序、软件系统或某些功能是否按预期执行。

  测试用例是QA执行的单个可执行测试。它指导QA完成测试的步骤。你可以将测试用例看作是一组按部就班的指令,以验证某些功能是否符合需求。

  2、设计测试用例的步骤

  Step 1:定义测试流程目标

  首先,你需要了解软件需求规范。

  当开始为软件的功能特性编写测试用例时,首先要做的是理解并确定需求。

  Step 2: 确定软件系统的性能指标(基于你对系统的理解)

  为了编写一个好的测试脚本,你需要熟悉功能需求。

  还需要了解软件是如何使用的,包括各种功能和组织功能。

  Step 3: 确定非功能性需求

  第三步是了解与非功能需求相关的软件的其他方面,如硬件需求、操作系统、安全方面。除了准备测试数据之外,还需要考虑其他先决条件。

  测试非功能性需求非常重要。

  例如,如果软件需要用户填写表单,你必须确定一个合理的时间框架,这样用户在等待提交时就不会超时。同时,还需要检查登录时间,以确保用户会话没有过期,这称为安全测试。

  Step 4: 确定测试用例模板

  应该选择的测试用例样本、测试用例模板必须包括测试类型

  例如UI、功能、容错、兼容性和性能。每种类型都应该根据应用程序的逻辑来定义。

  Step 5: 指出软件模块之间的交互

  此时,你必须理解每个模块的功能及其与其他模块的交互,以识别系统流。测试用例的设计应涵盖模块交互的最高级别。

  例如:在测试一个电子商务网站的购物车功能时,你需要测试库存管理系统来验证是否从商店中扣除了相同数量的购买产品。类似的,在处理重新测试时,你需要测试它对应用程序的财务部分以及库存管理系统的影响。

  3、测试用例的结构

  典型测试用例的格式包括:

  Test Case ID: 确定测试所需实例数量所需的值。

  Function: 根据系统的功能,可以分割功能来创建更清晰的测试用例。

  Test Data: 需要为测试准备的数据。

  Test Steps: 描述测试步骤。

  Expected results: 以上步骤的预期结果。

  A result: 通常为PASS,FAIL或PENDING。这是系统环境中测试用例的实际结果。

  Comments: 本专栏用于在执行测试用例时记录屏幕截图和相关信息。

1-2.jpg

  此外,您可以添加更多的列,例如:测试人员、执行日期等。

  4、 编写Facebook登录功能的测试用例(桌面端)

  Step 1: 确定的需求

  第一个任务是测试Facebook的登录表单:https://www.facebook.com/

1-3.png

  测试目的: 测试登录Facebook成功(仅在Web环境中),不要测试注册功能。

  性能测试: 登录表单通常包括2个文本框:email/phone和password,登录按钮,忘记密码的链接。

  确定非功能性需求: 检查未注册电子邮件的保密性,将密码保存到浏览器。此外,检查网络系统和计算机硬件。

  确定合适的测试用例模板: 要求将包括测试组件,例如UI,登录功能,登录速度。

  确定模块之间的交互:检查用户登录帐户的真实性。成功登录后,将用户重定向到主页。

  Step 2:构造测试用例

  定义UI用例:UI用例包括color, font, size, color of the label, length, width, height, textbox类型,button, 表单位置, textbox, button, 页面上的URL等等,如果将每个UI拆分为一个用例,则测试用例将太长,因此我们应将它们合并到一个通用的UI测试用例中,或将它们拆分为UI子类。

  定义功能用例: 这里的功能是使用2个文本框登录到Facebook,这些文本框是电子email/phone 和 password,一个登录按钮,一个忘记密码的链接。因此,将出现以下情况:

  email/phone box:

  正常情况将包括:使用正确的电话号码或电子邮件地址登录,然后使用空白,错误的电话号码或电子邮件地址登录。

  异常情况将包括:使用区号的电话号码(例如+849…)或没有电子邮件域(@http://facebook.com)的电子邮件地址登录。另外,还有网络断开、cookie窃取、浏览器登录等情况……

  边界用例将包括:测试每个文本框中可以输入的最小字符数和最大字符数。创建要测试的多个字符的电子邮件,或要测试的尽可能短的电子邮件。

  Password框类似,另外还需要检查密码框的加密。

  Login按钮:

  正常情况将包括:在文本框中输入一个值,单击login按钮或按键盘上的Enter键。

  正常情况是:点击Continue 按钮。

  边界用例将包括:无需检查这种情况。

1-4.jpg



作者:程序员老陈    

来源:http://www.51testing.com/html/43/n-7792843.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 移动智能设备已成为我们日常生活的一部分,我们比以往任何时候都更加依赖它们。随着 5G 在不久的将来的出现,用户利用智能手机和移动数据提供的潜力的方式将是惊人的。越来越多的需求都会转移到移动设备上实现。拥有一个响应式网页设计,可以更快、更高效地在众多设备上运行,这是组织面临的挑战。这里重要的是通过严格的测试确保您的网站提供统一的体验。在本文中,我们将详细了解移动 Web 测试的方法、不同的测试策略以及可以减轻测试过程复杂性的工具。响应式网页设计对于许多人来说,响应式这个词并不新鲜!然而,随着我们多年来移动用户的惊人增长,响应式设计已成为任何企业的关键。它使响应式测试成为绝对必要的。响应式网页设计...
            0 0 928
            分享
          •   一、Spring-Intergration 简介  Spring-Intergration提供Spring编程模型的拓展,以支持EIP(nterprise Integration Patterns,企业集成模式)。在基于Spring的应用程序中支持轻量级的消息传递,支持通过适配器(Adapters)与外部系统集成。Spring-Intergration有以下目标:  ·提供一个简单的模型来实现复杂的企业集成解决方案  ·在基于Spring的应用程序中提供异步、消息驱动的行为  ·激励Spring的现有用户直观、增量的使用Spring-Intergration  二、Spring-Inter...
            0 0 1045
            分享
          •   调查背景  近日,互联网大厂裁员的消息频频爆出,引发了很多测试行业从业者的关注与讨论。伴随着国务院颁布的“新十条”,整个社会开始复工复产,国内就业环境也在恢复元气。  国内互联网产业的不断进步和转型,也对许多传统业态进行了改造、升级和赋能。综合近年来的测试行业发展趋势,我们发现,除了传统的互联网金融测试方向依旧火热,大数据测试、物联网测试、人工智能测试等领域也在飞速发展,带来了极大的探索空间。  根据Gartner的预测:2023年的全球软件测试市场,预计会有14%的综合年度增长率。随之而来的,就是IT行业或将在2023年上演“抢人大战”。  调查目的  51Testing以测试行业为分析...
            1 0 1745
            分享
          •   摘要:黑盒测试仅关注输入和输出,将程序看成一个黑盒子。在不遗漏需求的情况下,打开这个黑盒子,从代码实现的角度进行分析,可以更好的理解测试用例,帮助我们完善测试用例设计,更好地提升测试效果。  本文从一元多项式的加法和乘法运算程序进行系统阐述,以期阐明作者思路。  程序功能描述:设计程序分别求两个一元多项式的乘积与和。  (1)Input :输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数,数字间以空格分隔  (2)Output:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。零多项式应输出 0,0  (3)举例:  执...
            12 12 1303
            分享
          • 1.如何判断一个单链表是有环的?struct ListNode { int key; ListNode* next; }; bool check(ListNode* head) //return false : 无环;true: 有环 { } 答案:一种O(n)的办法就是(搞两个指针,一个每次递增一步,一个每次递增两步,如果有环的话两者必然重合,反之亦然): bool check(ListNode* head) { if (head == NUL...
            14 14 1514
            分享
      • 51testing软件测试圈微信