前言

本章主要讲述测试用例的概念及基本使用介绍
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. 关于移动端rem适配
  2. 使用Docker-Docker for Web Developers(2)
  3. iOS开发-UITextField手机号和邮箱验证
  4. 解决QT出现XXXX.dll不能加载问题
  5. 物理服务器转虚拟服务器,物理服务器转虚拟服务器
  6. apache日志切割问题
  7. UIImage指定区域自由拉伸
  8. [Qt] 利用QtWebKit完成JavaScript访问C++对象
  9. vue项目引入CNZZ数据专家(方法汇总篇)
  10. php中各种操作字符串和时间戳的代码关键词
  11. Android高级开发之【RxJava】详解(附项目源码)
  12. 如何基于数据快速构建用户模型(Persona)?
  13. 常见的系统故障及排除
  14. 关于另类BT下载的想法
  15. 如何把视频转换成mp3格式
  16. 爬虫:Robots协议
  17. raid管理软件MegaRAID Storage Manager(MSM)的安装和使用
  18. newifi安装php,新路由(newifi)登录地址安装设置步骤
  19. js json转excel
  20. 什么是反向竞价?有哪些优劣势

热门文章

  1. defaultdict用法详解
  2. 骨传导原理是什么?骨传导耳机对保护耳朵健康有帮助吗?
  3. 腾讯云CentOS7运行基于SSM的个人博客----第三节:使用Dokcer安装JDK、Tomcat环境
  4. html中的列表、表格、表单
  5. 本次给大家来个简单的一元二次方程求解的编程
  6. 游戏蓝牙耳机哪款好用?低延迟游戏蓝牙耳机推荐
  7. Android 中短信数据库的简单操作
  8. uniport ID 转换为 gene symbol(ID转换)
  9. Excel技巧:如何用函数删除换行符、文本前空格、文本中间空格?
  10. 数学知识的一些常用公式