前言

本章主要讲述测试用例的概念及基本使用介绍
ps:现在真有点头昏脑涨.虽然这么晚了,但肯定要把今天所学的总结完才睡觉



一、概念

测试用例(Test Case):是为特定的目的而设计的一组测试输入、执行条件和预期的结果,以便测试是否满足某个特定需求。通过大量的测试用例来检验软件的运行效果,它是指导测试工作进行的依据。

  • 简单来说,测试预期是否等于实际结果,是则通过,否则有bug
  • 而测试用例主要解决的问题是要测什么?怎么测?

例:买手机,按开机键(相当于输入了一组数据来测试),执行条件指的是开机的前提条件,比如是否有电;预期结果就是能顺利打开手机,那么测试完毕后,是否达到了想要的需求(顺利开机)


二、测试用例方法

1.等价类划分法

1)概念

  • 它是一种重要的、常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可。它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。

例如:计算器的测试,由于一个一个测试效率低下,你不可能每一个数都加一遍,所以一定要分类测试.将输入数字划分为:
1、整数(在范围内的整数-99到99)取最大、最小、中间
2、小数(在范围内的整数-99到99)
3、符号(±/,。、!@#¥%……&())
5、汉字
6、空格
7、不输入

2)等价类划分

  • 有效等价类:指符合《需求规格说明书》,输入合理的数据集合
  • 无效等价类:指不符合《需求规格说明书》,输入不合理的数据集合

3)等价类思考步骤

  • 1、先确定有效和无效等价类
  • 2、有效等价类就是题目条件(两端的极值(边界值)要判断、中间随意一个值也要判断)
  • 3、无效等价类先划分与条件相反的情况,再找到特殊情况(中文、英文、符号、空格、空)

4)例题展示

例:计算 1—100的整数之和(包括1和100)

  • 分析:先根据题意列出有效和无效等价条件
    有效等价条件:[1,100]的整数(一般要测临界值及中间任意一个值)
    无效等价条件:
    1)<1 or >100的数
    2)小数
    3)中英文字母
    4)特殊符号(¥%&…)
    5)空格,及空

采用列表展示

一般是一个框输入正确的值,一个框输入错误的值,没有两个框都输入错误的值,因为更容易确定到底是哪个框出现错误的值。

5)总结

  • 当我们在测试文本框的程序可以考虑如下的情况:

1、考虑输入长度
2、考虑输入类型
3、组成规则
4、是否为空
5、是否区分大小写
6、是否重复
7、是否去除空格

2.边界值分析法

1)概念

  • 边界是指对于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况。边界值分析法也是一种常用的黑盒测试方法(它与等价类分析法是相辅相成的)

例如:程序员将输入的参数值必须大于0同时小于100的整数的语句,边界条件设置错误:把>写成了>=,把<写成了<=.

其中有效数据和无效数据的分界点,往往作为程序员编写程序的判断点,是程序员容易犯错误的地方,所以也是测试人员重点测试的内容。

2)如何解决这类问题

  • 具体测试用例书写思路:找到边界值和它两端的值,分别进行测试;

例如(计算器测试0-100间的整数):一般情况下,需要对边界值(0和100)以及边界值两边的数(-1和1以及101和99)分别进行测试

3)注意:边界值的取值依据输入范围区间不同而有所不同,但是都需要把上点值、离点值和内点值取到。(闭两边、开中间

4)例题展示

练习:修改手机银行登录密码:密码必须由字母与数字组合,密码长度在8~24之间(包含8和24)

  • 分析:8边界7,9;24边界23,25;

5)边界值和等价类区别:边界值分析不是从某等价类中随便挑一个作为代表,而是这个等价类的每个边界都要作为测试条件

3.因果图(了解即可)

1)概念

因:输入条件
果:输出条件、出结果
适用于输入条件之间有相互制约、相互依赖的情况;

2)特点

考虑输入条件的相互制约及组合关系
考虑输出条件对输入条件的依赖关系

3)因果图中的符号

1、恒等(-) :有因就有果,没有因就没有果
2、非(~) :有因没有果,没有因有果
3、或(^) :条件有一个是真,结果就是真,条件都是假,结果才是假
4、且(V):条件都为真,结果才是真,一个条件为假,结果就是假

4.判定表

1)组成部分:

  • 1、条件桩:所有条件
  • 2、动作桩:所有结果
  • 3、条件项:针对条件桩的取值
  • 4、动作项:针对动作桩的取值

2)书写步骤:

  • 1、列出所有条件和动作桩
    2、填写条件和动作桩中的项目
    3、简化判定表

注意:如果出现“-“代表此选项不影响最终结果。

3)例题展示

练习:交通一卡通自动充值软件系统需求如下:

系统只接收50或100元纸币,一次只能使用一张纸币,一次充值金额只能为50元或100元。
若输入50元纸币,并选择充值50元,完成充值后退卡,提示充值成功;
若输入50元纸币,并选择充值100元,提示输入金额不足,并退回50元;
若输入100元纸币,并选择充值50元,完成充值后退卡,提示充值成功,找零50元;
若输入100元纸币,并选择充值100元,完成充值后退卡,提示充值成功;
若输入纸币后在规定时间内不选择充值按钮,退回输入的纸币,并提示错误;
若选择充值按钮后不输入纸币,提示错误

  • 分析:
    1、找到所有输入条件编号
    2、找到所有输出条件编号
    3、找出所有输入、输出的制约关系

  • 输入:
    1.输入50元
    2.输入100元
    3.选择充值50元
    4.选择充值100元

  • 输出:
    1.完成充值、退卡
    2.提示充值成功
    3.找零
    4.提示错误

  • 分析输入输出的制约关系即可,划表如下所示:1代表操作

5.场景法
  • 主要用来测试业务流程;
  • 分为基本流(正确流程)和备选流(错误流程)
    基本流:按照正确的业务流程来实现的一条操作路径(模拟正确的操作流程)
    备选流 :导致程序出现错误的操作流程(模拟错误的操作流程)

在冒烟测试中主要采用场景法来测试;

6.流程分析法

适用于有先后顺序的测试(常用于业务流程、安装流程);
每个流程就是一条测试用例,它只是在测试整体流程是否正确,细节还需要使用等价类、边界值等方法进行完善;

7.错误推测法
  • 凭着直觉和经验来设计测试用例,它是根据之前项目相关的bug数据总结来的;
8.正交排列法
  • 是一种全面试验中挑选出有代表性的点进行测试(均匀分散,整齐可比)高效率、快速、经济的方法。当由于组合量太大,不可能为每一种组合都创建测试用例。如何采用最少的测试用例集合获得最大的测试覆盖率——采用正交排列法

1)正交表的概念

  • 一种特制的表,一般的正交表记为:Ln(m^k)

n是表的行数,也就是需要测试组合的次数
K是表的列数,表示控件的个数(因素的个数,或因子个数)
m是每个控件包含的取值个数(各因素的水平数,即各因素的状态数)
如:L9(3^4):叫4因素3水平,代表有4个控件,每个控件有3个取值,9为需要测试的组合个数

2)例题展示

案例:字符属性设置程序:窗体中有多个控件(字体、字符样式、颜色、字号),每个控件有多个取值
字体:仿宋、楷体、华文彩云
字符样式:粗体、斜体、下划线
颜色:红色、绿色、蓝色
字号:20号、30号、40号

  • 分析:

步骤一:根据所测程序中控件的个数以及每个控件的取值个数,选取一个合适的正交排列表4个控件(因素)字体、字符样式、颜色、字号,每个控件有3个取值(水平),所以选择L9(3^4) 正交排列表.

步骤二:把控件及其取值列举出来,并对取值进行编号

步骤三:把控件及其取值映射到正交排列表中
1、把正交排列表中的A、B、C、D(因子)分别替换成4个控件

3)混合正交表

  • 水平数不同:因素(变量)的水平数(变量的取值)不相同

例:

找不到现成的正交表,就只能使用正交表生成工具allpairs来生成

  • 使用步骤:

1、制作取值表(只列出数据即可,不用编号)
2、复制取值表的数据,放到文本文档中保存(注意不要更改任何格式,例如文件叫Test2.txt )
3、把文本文档放在allpairs文件夹中
4、win+r后输入cmd进入控制台
5、使用控制台代码进入allpairs文件夹
6、在控制台中输入allpairs.exe Test2.txt>success.txt ( success是自己起的名字,用来存放生成的组合用例,可以自动生成,不必提前建好)



三、测试方法的选择

  • 通常在确定测试方法时,有以下几条参考原则(1/2):

1、如果测试功能和流程,要使用场景法

2、需要输入数据的地方,我们要使用等价类划分法,要注意配合边界值法来做详细测试

3、如果有条件组合的情况,我们要使用因果图制作出判定表

4、配置类软件,组合比较多的,我们要使用正交表来科学的选择测试用例

5、如果没有达到覆盖标准,就要增加一些测试用例

6、依靠经验追加一些测试用例(错误推断法)

软测(三)测试用例基本介绍相关推荐

  1. 哔哩哔哩软测三面,面试题复盘

    讲述一下自己最熟悉的一个项目是怎么做的?具体用什么方法和测试工具? 简述一下整个项目的测试流程和 BUG 管理流程? 描述中都包括那些内容? 讲述一个BUG 的生命周期? 相关答案查看文末!!!!! ...

  2. 软测测试用例设计之状态迁移

    软测测试用例设计之状态迁移 播放器功能测试 手机中MP3播放功能状态-事件表如下, 并且当MP3曲目在起点时不能按R键,当MP3曲目在末端时不能按P.F键 按键 停止 倒 播放 进 录音 R(倒) 倒 ...

  3. 软测项目辅导综合教程

    软测项目辅导综合教程 一. 项目介绍 二. 询问测试过程 三. 一个模块如何测试 四. 介绍印象深刻的缺陷 五. Sql注入测试过程 六. cookie测试过程 七. 后端性能测试过程 八. 自动化测 ...

  4. 爱软测学员面试外企测试工程师英文面试小结

    英文面试 1 英文自我介绍 Q1. introduce yourself ,please? can you sell yourself in 2 minutes? A1: OK,面试官,下午好,我叫b ...

  5. 哔哩哔哩软测工程师面试题

    哔哩哔哩软测工程师面试题 01. 测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的? 软件测试计划是指导测试过程的纲领性文件,包含了产品概述.测试策略.测试方法.测试区域.测 ...

  6. 天花板级软测项目拆分详解,年后涨薪面试,稳了...

    距春节只有不到半个月了,记得买回家的票哦~ 每年春节前,都是跳槽面试小旺季,软测圈子里有很多人在忙着准备面试,想在新年跳槽涨薪.春节一过就是金三银四,时间紧任务重,必须早做打算. 所以最近来咨询进阶. ...

  7. 最新整理,9月阿里巴巴软测面试题158题(测试技术+开 发及环境搭建类+人力资源+答案解析)建议收藏~

    前言 做软件测试工程师,没有人敢小觑 技术的重要性,现在出去面试,无论什么公司,都要跟你扯一扯 你的技术,扯一扯你掌握的知识点,如果啃不下来,很可能就与大厂失之交臂. 9月阿里巴巴面试题笔记答案我已经 ...

  8. 软件测试行业前景发展怎么样?从事软测到底有没有出路

    软件测试行业到底有没有前景和出路?我来进行下个人的阐述哈,希望对你有用.为了能够尽量将这个问题阐述清楚,我将会从以下方面来讲解: 1.为什么你会有软件测试行业前景和出路的疑问? 2.现在软件测试到底有 ...

  9. 软测培训机构哪个比较好

    软件测试这个岗位是软件开发过程中非常重要的一步,一个软件的开发是少不了软测工程师的,近几年,软测的发展前景越来越可观,很多人都想学习软测技术,那么市面上软测培训机构哪个比较好呢?来看看下面的详细介绍. ...

最新文章

  1. 第十六届无线节能信标灯规格说明
  2. Prism学习笔记(三):对Prism中模块化程序的理解。
  3. mac终端修改默认python_Mac 修改默认python的版本
  4. 面试题:如何设计一个高并发系统?
  5. pythondockerapi_docker-py 用Python调用Docker接口的方法
  6. 第一篇:服务的注册与发现Eureka(Finchley版本)V2.0_dev
  7. ES6--Decorator修饰器
  8. javascript基础-函数
  9. 如何在WP7中使用自定义字体
  10. Please port CPUType detection to your platform (CPU_ABI string ‘loongarch64‘)
  11. 基于linux的进程调度模拟程序,2011180021_Linux操作系统_课程设计报告_基于Linux的进程调度模拟程序...
  12. python差异性分析_差异性分析
  13. 山东理工大学ACM平台题答案 1235 计算球体积
  14. iReport使用入门
  15. 命令查看计算机出厂时间,Check cosmetics or perfume production date and shelf life by the batch code....
  16. 手机进水声音变小怎么办
  17. 35岁到40岁,如何突破
  18. netterm连接linux虚拟机(转)
  19. 农行网上在线支付平台接口安装详解
  20. vue-quill-editor 富文本编辑器 自定义上传图片

热门文章

  1. MascotCapsule手机游戏引擎简介
  2. 帝国时代(1)--献给曾经的游戏
  3. matlab 二次函数图像
  4. 在Win32下搭建opengl绘制环境
  5. 从零开始构建嵌入式实时操作系统2——重构
  6. 微型计算机键盘上的tab键汉语译为,微型计算机键盘上的Tab键汉语译为()。
  7. Shell-基础部分
  8. 【软件测试】POST请求包含哪些参数
  9. RF Python扩展测试库
  10. Unity中如何跟随某个物体运动浅谈