软件测试攻略(十二):测试用例基础(1)

一、测试用例的基本概念

  • 概念 :
    测试用例是由测试人员在测试执行之前编写的指导测试过程的重要文档,主要包括:用例编号、测试目的、用例描述、预期结果。

  • 编写测试用例需要参考:
    (1)相关文档(需求文档、用户手册、开发文档)
    (2)参考已经开发出来的软件
    (3)讨论(开发、需求、用户)

  • 设计测试用例的方法
    (1)等价类划分法
    (2)边界值法
    (3)因果图法
    (4)判定表法
    (5)正交排列法
    (6)场景法
    (7)测试大纲法
    (8)状态转换图法

在目前实际应用中,使用较多的是等价类划分法、边界值法、场景法三种方法。

二、等价类划分法

  1. 应用场合:
    只要有数据输入的地方,就可以采用等价类划分方法。按照需求,把无穷多的数据进行分类,从中挑选出代表性数据进行测试。

2.测试思想:
穷举测试是最全面的测试,但是时间成本太高,在实际中不能采用,等价类划分法就是在保证测试质量的同时,使用最小的成本达到最大的覆盖。不做穷举测试(或者说遗漏一些测试数据),是存在风险的,所以如果时间允许的话,可以适当的补充。

  1. 核心概念

(1)有效等价类:对程序规格有意义、合理的输入数据集合。

  • 程序接收到有效等价类数据,应该正确计算、执行————验证软件功能是否实现

(2)无效等价类:对程序规格无意义、不合理的输入数据集合。

  • 程序接收到无效等价类数据,应该给出错误提示或者根本不允许输入————验证软件的异常处理能力(健壮性)

4.如何划分
首先要明确测试对象——“第一个数”文本框。
说明:
在测试第一个数的时候,要保证第二个数为正确的。
例:输入-99到99之间的整数

(1)根据需求,划分等价类

  • 有效等价类:
    -99—99 的整数
  • 无效等价类:
    A、<-99的整数
    B、>99的整数

(2)细化等价类
依据的一般不是显式的需求,而是根据数据在内存中的存储方式或数据类型等。
整数在计算机中采用补码方式存储,正数和负数的补码方式不同,所以有必要把其分开测试。

  • 有效等价类:
    A、-99—0 的整数
    B、0—99的整数
  • 无效等价类:
    A、小数
    B、字符
    C、汉字
    D、符号
    E、<-99的整数
    F、>99的整数

(3)建立等价类表(熟练后,直接做这步)


image.png

(4)编写用例
从每个等价类中至少挑选一个代表数据进行测试即可。

  1. 提示
    一般来讲,有效等价类较少,并且通常可以以从需求字面中得到。 无效等价类较多(一般为有效等价类的2-5倍),并且找起来较为困难。这个规律满足程序代码原理,一个功能实现的代码要比异常处理的代码要少。

三、边界值法

  1. 应用场合:
    只要有数据输入的地方,一般可以使用。边界值法和等价类划分法往往一起使用,共同形成一套较为完善的测试方案。

2.测试思想:
找到有效数据和无效数据的分界点(最小值和最大值),对分界点及其两边的点(次边界值)单独进行测试。边界值数据本质上属于等价类范畴,但是需要单独测试,这是一种冗余,但在工程中是必要的。

  1. 如何划分
    例如,输入6-16位的英文
    有效数据和无效数据的分界点就是6位(最小值)和16位(最大值),次边界值就是6左右两边的5位和7位,16左右两边的15位和17位。

四、场景法

  1. 应用场合
    (1)在一个界面中,没有太多填写项(甚至没有),所有操作都是通过鼠标的单击、双击、拖拽等完成——适合采用场景法的界面特点
    (2)软件的业务逻辑具有有一定的复制性或者具有较强的行业特征,测试人员把自己当成最终的用户,尽量模拟出用户所有重要的操作,可以分成两大类:
    A、模拟用户正确的操作——验证软件的业务逻辑、主要功能是否实现(正常流)
    B、模拟用户错误的操作——验证软件的异常处理能力(异常流)

2.测试思路:
场景法主要基于两个层面:
(1)业务(需求)层面:要求测试人员精通所有测试软件的业务逻辑、主要功能——成为行业专家
(2)技术层面场景法基于等价类划分,模拟用户正确的操作——有效等价类;模拟用户错误的操作——无效等价类
3.如何划分
(1)基本流(正确流、有效流)——模拟用户正确的操作流程
(2)备选流(错误流、无效流)——模拟用户错误的操作流程

五、实例

目前阶段书写测试用例是结合以上三种方法组成。
比如一个测试注册页面接口测试:
对用户名框的要求是“4到16位(中文,字母,数字,下划线,减号)”


image.png

据此分类来书写测试用例。
正常流:就是全字段都按要求输入有效类
异常流:就是用户名框依次录入无效类,其它框需要保持正确。

六、根据测试思路分析需求

七、软件生命周期

软件生命周期,是软件的产生直到报废或停止使用的生命周期。

image.png
  1. 问题定义。要求系统分析员与用户进行交流,弄清“用户需要计算机解决什么问题”然后提出关于“系统目标与范围的说明”,提交用户审查和确认。
  2. 可行性研究。一方面在于把待开发的系统的目标以明确的语言描述出来,另一方面从经济、技术、法律等多方面进行可行性分析。
  3. 需求分析。弄清用户对软件系统的全部需求,编写需求规格说明书(PRD)和初步的用户手册,提交评审。
  4. 开发阶段。由架构师进行系统详细设计,出具系统详细设计说明书(LLD),接着进行系统概要设计,出具系统概要设计说明书(HLD)。再由开发人员根据LLD、HLD敲代码。
  5. 测试阶段。对写好的代码进行测试,分为单元测试(UT测试)、集成测试(IT测试)、系统测试(ST测试)、验收测试(UAT测试)。
  • 单元测试(UT测试):对开发人员写的一个方法进行测试。
  • 集成测试(IT测试):对几个方法或者一个模块进行测试。
  • 系统测试(ST测试):对整个系统进行测试。
  • 验收测试(UAT测试):如果自己就职甲方公司,就自己的测试员来进行验收,如果是外包,就由客户方来验收。
  1. 维护阶段。当项目上线后,就要对其进行维护。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容

  • (全) 等价类划分方法: 一.方法简介 1.定义 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然...
    xiangxiangUUU阅读 2,064评论 1 7
  • 黑盒测试案例设计技术篇 1 概述 本章介绍黑盒测试的概念和进行黑盒测试的目的与意义,及关于等价类划分、边界值分析、...
    西边人阅读 16,782评论 0 41
  • 等价类划分方法: 一.方法简介 1.定义是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个...
    繼續hug阅读 5,542评论 1 16
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    宇文臭臭阅读 6,686评论 5 100
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    Mr希灵阅读 21,914评论 7 277