说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!
接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/97751268
目录
一丶tinyshop环境部署
二丶部署Web应用
三丶场景法(流程法)测试QQ案例
四丶回顾状态迁移播放器案例以及等价类
五丶因果图
六丶黑盒用例测试其他方法
七丶软件测试用例方法总结
八丶软件测试实战
1.先安装 xampp
2. apache、my sql、php、php my admin 为必选
3.选择文件夹路径不能含有中文
4.取消安装插件(然后一直下一步即可)
5.最后一步安装完成
6.打开XAMPP,出现如下界面,因博主本台电脑已安装过mysql所以这里显示√,但是出现以下红框错误,该错误是因为博主的电脑独立安装过mysql,所以默认的mysql服务路径为D:\mysql\bin\mysqld.exe MySQL
7.解决以上错误,在注册表中找到以下键,修改其值为d:\xampp\mysql\bin\mysqld.exe即可
8. 此时查看mysql服务属性,可执行文件路径已经变成d:\xampp\mysql\bin\mysqld.exe
9. 在xampp上启动mysql服务,显示成功,即问题解决
10.配置Apache服务端口(这个根据自己电脑端口情况来自我更改或不改) ,默认为80端口
11.将httpd.conf配置文件中的 Listen以及ServerName localhost的值从80修改为8013
12.配置Apache httpd-ssl,如下打开httpd-ssl.conf配置文件,将配置文件中使用的443端口修改为4431
13.点击Apache对应的红叉,安装Apache服务
14.安装成功后,会显示打勾,并且控制台会提示安装成功
15.点击右上角“config”,选择“service and port settings”,把两个端口号改成在文档里修改的 8013 和 4431
16.start运行Apache服务,如下
1.将应用文件TinyShop_v1.7拷贝到安装xampp目录下的htdocs目录中,并重命名为TinyShop,如下图所示
2.打开浏览器,输入购物网址:http://127.0.0.1:8013/tinyshop,进入如下界面,勾选同意点击下一步
3.到如下界面,左列必须全是√,继续安装
4.配置数据库以及用户密码(xampp下的mysql数据库密码默认为空,点击检测连接测试连接数据库是否正常)
5.最后点击下一步,完成安装
6.点击体验前台,进入应用前台页面,如下
7.点击进入后台,登录安装时的用户名和密码即可,进入后台管理首页
1.QQ安装功能测试(矩阵法)
界面1、安装向导 |
下一步 |
1 |
|
|
1 |
1 |
1 |
1 |
…… |
取消 |
|
1 |
|
|
|
|
|
…… |
|
关闭 |
|
|
1 |
|
|
|
|
…… |
|
界面2、许可协议 |
同意 |
1 |
|
|
|
|
1 |
1 |
…… |
下一步 |
1 |
|
|
|
|
1 |
1 |
…… |
|
上一步 |
|
|
|
|
|
|
|
…… |
|
取消 |
|
|
|
1 |
|
|
|
…… |
|
关闭 |
|
|
|
|
1 |
|
|
…… |
|
界面3、选择组件 |
下一步 |
1 |
|
|
|
|
|
|
…… |
上一步 |
|
|
|
|
|
|
|
…… |
|
取消 |
|
|
|
|
|
1 |
|
…… |
|
关闭 |
|
|
|
|
|
|
1 |
…… |
|
界面4、选择安装位置 |
下一步 |
1 |
|
|
|
|
|
|
…… |
上一步 |
|
|
|
|
|
|
|
…… |
|
取消 |
|
|
|
|
|
|
|
…… |
|
关闭 |
|
|
|
|
|
|
|
…… |
|
界面5、创建菜单文件夹 |
安装 |
1 |
|
|
|
|
|
|
…… |
上一步 |
|
|
|
|
|
|
|
…… |
|
取消 |
|
|
|
|
|
|
|
…… |
|
关闭 |
|
|
|
|
|
|
|
…… |
|
界面6、显示文件说明书 |
完成 |
1 |
|
|
|
|
|
|
…… |
上一步 |
|
|
|
|
|
|
|
…… |
|
取消 |
|
|
|
|
|
|
|
…… |
|
关闭 |
|
|
|
|
|
|
|
…… |
2.编写QQ安装测试用例
3.流程分析法的优缺点
优点:流程分析法既能覆盖条件为真的分支,也能覆盖条件为假的分支
缺点:流程分析法不能验证每个界面的参数是否正确,验证的是流程, 所以需要与开发进行沟通需求,需要在每个界面进行校验,如果错误,直接在当前界面提示信息,所以需要多种方法组合使用。
1.之前画的播放器案例深度优先迁移图
2.通过流程图得出一个用例从开始到结束,都可以成为一个测试用例
3.等价类测试用例
等价类:跟边界值配合使用
上点 2 离点 2 等价类有效 1 内点 2 无效规则 2;将等价有效类与内点合并后则编写测试用例的个数为7个,不合并为9个
输入框
1 长度
2 类型
3 组成规则
4 空
5 是否重复 区分大小写
空格前,后 ,中
1.自动贩卖机功能测试
若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币;橙汁与啤酒均为5角钱一瓶
Step1、如果需求是文字描述,将文字转化为图形
Step2、需求中包含1个独立功能 —— 贩卖功能
Step3、针对打印功能开展需求分析;界面可见输入参数:橙汁、啤酒、投币;界面不可见输入参数: 电量、货源
Step4、分析界面可见输入参数之间的关系及特点
等价类 ——不存在无效规则(点橙汁是对的,不点是错的?)
边界值 —— 不存在区间范围
判定表 —— 参数之间存在逻辑关系√,不同组合输出不同结果√ ;不存在一个是什么另外一个必须是什么
正交试验 —— 不全是有效的,存在无效(投币存在无效)
流程分析法 —— 不跨界面
状态迁移图 —— 不全是有效的,存在无效× ;参数之间存在约束关系(点橙汁不能点啤酒)√
参数之间存在逻辑关系,不同逻辑组合会输出不同结果 参数之间存在约束关系,输出结果不确定—— 因果图
因果符号: 恒等、非、或、与
原因符号: 异、或、唯一、要求
结果符号:强制
因果关系
恒等:条件C满足要求时,一定会输出结果E 例如:投5毛点橙汁,一定会输出橙汁
非:条件C满足要求时,一定不会输出结果E 例如:投5毛点橙汁,一定不会输出啤酒
或:条件C1、C2、C3任何一项满足要求时,就会输出结果E 例如:测试管理工具QC、禅道、Jira中会使用任何一款工具即会被录用
与:条件C1、C2、C3同时满足要求时,才会输出结果E 例如:同时会使用禅道、SVN、selenium三款工具才会被录用
原因与原因之间的关系
异:原因a、b中只能有一个为真(只有2个条件) 例如:两支笔(签字笔、白板笔)中有且只有一支是白板笔
或:原因a、b中至少有一个为真(a为真,b也可以为真) 例如:两支笔(白板笔)中至少有一支是白板笔
唯一:在多组判定条件中,有且只有一个为真(多个条件) 例如:在多人的间谍游戏中,有且只有一个是间谍
要求:原因a满足条件时,原因b一定满足条件 例如:面试穿正装(约束,共同努力完成一件事情)
结果与结果之间的关系
强制:结果a出现时,结果b一定不出现
例如:橙汁出现时,啤酒一定不出现
2.软件规格说明书案例
某软件规格说明书包含这样的要求: 第一列字符必须是A或B,第二列字符必须是一个数字, 在此情况下进行文件的修改, 但如果第一列字符不正确,则给出信息L; 如果第二列字符不是数字,则给出信息M。
a)使用判定表作图,发现红框中的动作桩无法判定
b)根据题意,原因和结果如下:
原因: 1——第一列字符是A; 2——第一列字符是B; 3——第二列字符是一数字。
结果: 21——修改文件; 22 ——给出信息L;23——给出信息M。
c)画出清晰的因果图(1+3=21或2+3=21;1或2非 = 22;3非=23;其中11为中间点)
3.自动售货机案例
有一个处理单价为5角钱的饮料的自动售货机,相应规格说明如下。 ① 若投入5角钱或1元钱的硬币,按下【橙汁】或【啤酒】的按钮,则相应的饮料就送出来。(每次只投入一个硬币,只按下一种饮料的按钮。) ② 如投入5角的硬币,按下按钮后,总有饮料送出。 ③ 若售货机没有零钱找,则【零钱找完】的红灯会亮,这时再投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来。 ④ 若有零钱找,则【零钱找完】的红灯不会亮,若投入1元硬币及按饮料按钮,则送出饮料的同时找回5角硬币
Step1丶分析案例列出原因和结果
Step2丶画出因果图
4.中国象棋案例
以中国象棋中马的走法为例子,具体说明:
1、如果落点在棋盘外,则不移动棋子;
2、如果落点与起点不构成日字型,则不移动棋子;
3、如果落点处有自己方棋子,则不移动棋子;
4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;
5、如果不属于1-4条,且落点处无棋子,则移动棋子;
6、如果不属于1-4条,且落点处为对方棋子 (非老将) ,则移动棋子并除去对方棋子;
7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
Step1丶据程序规格说明书描述的语义内容,分析并确定“因”和“果”
原因:
1. 落点在棋盘外;
2.不构成日字;
3.落点有自方棋子;
4.绊马腿;
5.落点无棋子;
6.落点为对方棋子;
7.落点为对方老将。
结果:
21.不移动;
22.移动;
23.移动己方棋子消除对方棋子;
24.移动并战胜对方。
Step2丶构建因果图
5.因果图优缺点
优点:
1.充分考虑了输入条件之间的组合,对组合情况覆盖充分。
2.最终每个用例覆盖多种输入情况,有利于提高测试效率。
3.设计过程中,对输入条件间的约束关系做了考虑,避免了无效用例,用例的有效性高。
4.能够同时得出每个测试项目的预期输出
缺点:
1.当被测试特性输入较多时,判定表的规模会非常大。
2.输入之间的约束条件不能有效区分输入是否确实需要进行组合测试,会造成不需要组合测试的输入做了组合,从而产生用例冗余。
1.输出域覆盖法
需求界面当中可见参数存在有效和无效规则校验,但没有明确限制输入条件,而需求中 给出了输出的限定条件,而我们要根据业务由输出倒退输入,此时可以使用输出域覆盖法设计测试用例。 1.询问开发或根据代码找出所有的输出结果 2.检查写过的测试用例是否把所有输出结果覆盖到,如果有未覆盖到用例则补测试用例 3.根据输出结果倒推测试用例步骤及测试数据 输出域覆盖法能保证所有输出结果是都被覆盖到,要求必须对业务要熟悉。
2.输入域覆盖法
输入域分析是一种综合的方法,综合了等价类划分法、边界值分析法等方法。这里说的输入域就是指输入,针对输入会有各种各样的输入值: a.特殊值:主要和输入的特点有关,需要了解系统对该输入的存储和处理。 b.长时间输入:对于那些没有限制输入长度的输入进行长时间的持续输入,以查看是否会存在输入的数据内存越界导致系统故障的情况。 1.根据SRS找出输入的类型边界和特殊值 2.根据类型边界值和特殊值找到相应的类型边界值和特殊值并写出相应的测试用例 输入域覆盖法考虑的更加全面,但是输入不一定存在类型边界或特殊值
3.异常分析法(测试必测项)
异常分析就是针对系统有可能存在的异常操作、软硬件缺陷引起的故障进行分析,依此设计测试用例。 主要针对系统的容错能力、故障恢复能力进行测试。简单的说就是人为让系统出故障,然后检查系统的故障恢复能力。 另一方面,针对系统的异常测试(是否做了不应该做的事)也要通过异常分析等手段。
应用:
(1)针对系统罗列可能的故障 例如:断电;断网;数据损坏;内存错误;
(2)针对每种可能的故障设计测试用例
使用步骤:
1.构造各种可能出现的环境异常
2.做好手工备份/恢复
3.一个用例包含一个错误
优点:增加软件的可靠性
缺点:异常场景不容易构造,需要多方配合
4.错误猜测法
在软件测试活动中,人们可以依靠经验和直觉推测系统中可能存在的各种错误,从而有针对性地编写检查这些错误的例子,这就是错误推测法。 基本思想:根据以往的测试经验和对系统内部知识的了解,列出系统中各种可能有的错误和容易发生错误的特殊情况,再根据它们来设计测试用例,随着在产品测试的实践中对产品的了解的加深和测试经验的丰富,使用错误推测法设计的测试用例往往非常有效,可以作为测试设计的一种补充手段,并且积累的经验越丰富,方法使用效率越高。
应用:
(1)确定合适的错误推测清单
(2)确定需要进行错误猜测的测试子项
(3)根据清单对测试子项的规格进行错误猜测
1.输出域 覆盖所有的输出,不管输入
2.输入域 覆盖所有的输入,不管输出
3.异常分析法: 断电,断网的异常情况(重点关注)
4.错误猜测法: 有经验的人对系统做出判断,找到肯能出现错误的地方
5.探索性测试: 根据自己的测试经验,尝试性测试系统功能
6.因果图
7.场景法 流程有序
8.状态迁移 状态无序
9.正交试验 多条件组合,不予许出现负值
10.判定表 多条件组合,可以出现负值
11.边界值
12.等价类
1.根据以下软件编写测试用例
2.分析软件,画出流程图