黑盒测试记录二

本次会议的主要内容有:

测试用例设计

  1. 定义

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。

右图中经过用例的每条路径都用基本流和备选流来表示:

基本流用黑色表示,是经过用例的最简单的路径。

备选流用不同的彩色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流 1 和 3);也可能起源于另一个备选流(如备选流 2),或者终止用例而不再重新加入到某个流(如备选流 2 和 4)。

  1. 应用的范围

1)       基本上每个软件都会用到这种方法,因为每个软件后面都有业务的支撑

2)       比较常见的有: 网上购物流程, ATM机取款流程等

  1. 步骤

1)      画出需要测试路径的流程图(一般选择工具Office Visio)

2)      分析基本流和备选流

3)      根据基本流和备选流设计测试用例

  1. 案例

基本事件流

1、用户向ATM提款机中插入银行卡,如果银行卡是合法的,ATM提款机界面提示用户输入提款密码;


参数1


银行密码


参数类型


字符串


参数范围


字符串为0~9之间的阿拉伯数字组合,密码长度为6位


备注

用户输入该银行卡的密码,ATM提款机与MainFrame传递密码,检验密码的正确性。如果输入密码正确,提示用户输入取钱金额,提示信息为,“请输入您的提款额度”;

用户输入取钱金额,系统校验金额正确,提示用户确认,提示信息为“您输入的金额是xxx,请确认,谢谢!”,用户按下确认键,确认需要提取的金额;


参数1


取款金额


参数类型


整数


参数范围


50~1500 RMB,单笔取款额最高为1500RMB;每24小时之内,取款的最高限额是4500RMB


备注

系统同步银行主机,点钞票,输出给用户,并且减掉数据库中该用户帐户中的存款金额。

用户提款,银行卡自动退出,用户取走现金,拔出银行卡,ATM提款机界面恢复到初始状态;

备选事件流(考虑可能失败的地方):

  1. 在基本事件流1中:

a)         如果插入无效的银行卡,那么,在ATM提款机界面上提示用户“您使用的银行卡无效!”,3秒钟后,自动退出该银行卡。

  1. 在基本事件流2中:

a)         如果用户输入的密码错误,则提示用户“您输入的密码无效,请重新输入”;

b)        如果用户连续3次输入错误密码,ATM提款机吞卡,并且ATM提款机的界面恢复到初始状态。此时,其他提款人可以继续使用其他的合法的银行卡在ATM提款机上提取现金。

c)         用户输入错误的密码后,也可以按“退出”键,则银行卡自动退出。

  1. 在基本事件流3中:

a)         如果用户输入的单笔提款金额超过单笔提款上限,ATM提款机界面提示“您输入的金额错误,单笔提款上限金额是1500RMB,请重新输入”;

b)   如果用户输入的单笔金额,不是以50RMB为单位的,那么提示用户“您输入的提款金额错误,请输入以50为单位的金额”;

c)   如果用户在24小时内提取的金额大于4500RMB,则ATM提款机提示用户,“24小时内只能提取4500RMB,请重新输入提款金额”输入提取的金额超过了系统的设定的限制 ;

d)   如果用户输入正确的提款金额,ATM提款机提示用户确认后,用户取消提款,则ATM提款机自动退出该银行卡;

e)   如果ATM提款机中余额不足,则提示用户,“抱歉,ATM提款机中余额不足”,3秒钟后,自动退出银行卡。

  1. 在基本事件流4中:

a)   如果用户银行户头中的存款小于提款金额,则提示用户“抱歉,您的存款余额不足!”,3秒钟后,自动退出银行卡;

  1. 在基本事件流5中:

a)   如果用户没有取走现金,或者没有拔出银行卡,ATM提款机不做任何提示,直接恢复到界面的初始状态;

场景法--分析过程

  1. 总结

1)      流程图可以参考需求规格说明书中的相关流程图

2)      如果没有需求文档,和需求和开发沟通,确保了解被测试软件的流程

3)      流程有大流程和小流程,大流程是指大功能的跳转,小流程是指功能内的调整,大小流程需要都被覆盖到.

2  ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)

原因:
mysql 用户没有操作/var/run目录的权限,所以pid文件无法创建,导致登陆时无法建立 进程信息文件,登陆进程就无法开启,自然无法登陆。

解决:
修改 /etc/my.conf
原来的
 #pid-file=/var/run/mysqld/mysqld.pid
修改为
pid-file=/var/lib/mysql/mysqlid.pid

检查发现,mysql用户根本无法 cd /var/run/。修改为mysql可以有权限的目录后再执行mysql就进入数据库了。

第二步:修改数据库默认密码
/etc/init.d/mysql stop   (service mysqld stop )
/usr/bin/mysqld_safe --skip-grant-tables
另外开个SSH连接
[[email protected] ~]# mysql
mysql>use mysql
mysql>update user set password=password("123456") where user="root";
mysql>flush privileges;
mysql>exit

然后
[[email protected] etc]$ ps -A | grep mysql
4532 pts/0    00:00:00 mysqld_safe
5542 pts/0    00:00:00 mysqld
[[email protected] etc]$ kill -9 4532 5542 
正常启动 MySQL:/etc/init.d/mysql start   (service mysqld start)

第三步:
登陆ok。 mysql -uroot -p

时间: 2024-11-10 13:48:05

黑盒测试记录二的相关文章

Windows API 编程学习记录<二>

恩,开始写Windows API编程第二节吧. 上次介绍了几个关于Windows API编程最基本的概念,但是如果只是看这些概念,估计还是对Windows API不是很了解.这节我们就使用Windows API 让大家来了解下Windows API的用法. 第一个介绍的Windows API 当然是最经典的MessageBox,这个API 的作用就是在电脑上显示一个对话框,我们先来看看这个API的定义吧: int WINAPI MessageBox(HWND hWnd, LPCTSTR lpTe

黑盒测试(二)

黑盒测试(二) 本文接黑盒测试(一). 1.3 黑盒测试的常用技术 功能测试意味着测试数据的选择和测试结果的解释是以软件的功能属性为基础的.黑盒测试不应当由程序的作者来执行,因为他知道太多的程序内部知识.在新的测试方法中,软件系统在内部白盒测试完成后由一个第三方来执行黑盒测试. 尽管黑盒测试是围绕着用户需求文档进行的,但是黑盒测试不一定必须要用户来参与测试.在绝大多数没有用户参与的黑盒测试中,最常见的测试有:功能性测试,容量测试,安全性测试,负载测试,恢复性测试,标杆测试,稳定性测试,可靠性测试

Spring Boot学习记录(二)--thymeleaf模板

Spring Boot学习记录(二)–thymeleaf模板 标签(空格分隔): spring-boot 自从来公司后都没用过jsp当界面渲染了,因为前后端分离不是很好,反而模板引擎用的比较多,thymeleaf最大的优势后缀为html,就是只需要浏览器就可以展现页面了,还有就是thymeleaf可以很好的和spring集成.下面开始学习. 1.引入依赖 maven中直接引入 <dependency> <groupId>org.springframework.boot</gr

前端常用功能记录(二)—datatables表格(转)

前端常用功能记录(二)—datatables表格 并不是所有的后台开发都有美工和前端工程师来配合做页面,为了显示数据并有一定的美感,jQuery的DataTables插件对于像我这样的前端菜鸟来说真是雪中送炭,当然对于专业的前端开发者来说它更是锦上添花!DataTables提供了针对表格的排序.浏览器分页.服务器分页.筛选.格式化.统计等强大功能. 工作中对程序员的学习模式才深有体会,不是从入门到精通,而是从会用到了解.对于我来说,基本都是拿到一个知识先做个东西出来,再来细细品味个中的细节,然后

netty 学习记录二

netty 最新版本是netty-5.0.0.Alpha1,去年10月份发布的,至今没有发新版本,估计这个版本还是比较稳定. 整包下载,里面包含一个 netty-example-5.0.0.Alpha1-sources.jar文件,提供了比较丰富的example例子,多看几遍还是非常有收获的,这里记录下. 先来看下channelHandler的两个不同继承: 方式一:直接从ChannelHandlerAdapter类里继承,读取操作从channelRead方法里执行 @Sharable publ

前端常用功能记录(二)—datatables表格

并不是所有的后台开发都有美工和前端工程师来配合做页面,为了显示数据并有一定的美感,jQuery的DataTables插件对于像我这样的前端菜鸟来说真是雪中送炭,当然对于专业的前端开发者来说它更是锦上添花!DataTables提供了针对表格的排序.浏览器分页.服务器分页.筛选.格式化.统计等强大功能. 工作中对程序员的学习模式才深有体会,不是从入门到精通,而是从会用到了解.对于我来说,基本都是拿到一个知识先做个东西出来,再来细细品味个中的细节,然后再慢慢理解.从粗到细,从大到小,呵呵,这种"逆向学

记录二:tensorflow2.0写MNIST手写体

最近学习神经网络,tensorflow,看了好多视频,查找了好多资料,感觉东西都没有融入自己的思维中.今天用tensorflow2.0写了一个MNIST手写体的版本,记录下学习的过程. 复现手写体识别的基本步骤:准备数据,处理数据,搭建模型,迭代训练模型,使用模型. 一.全连接模型 1.导入数据集(此次编写运行均在notebook) 先引入所需模块,在用tf.keras下载数据 2.分析图片的大小 1)用shape查看数量大小:2)通过指定[0][1]来查看具体图像尺寸,lable存储的是ima

Intellij IDEA快捷键记录二编写高质量代码

一.重构 1.选中方法名.变量名或者文件,使用快捷键可以统一上下文修改变量.方法名称.文件名称. 2.增删方法参数 选中方法,调用处或方法本身都可以,使用快捷键,可以实现方法参数的重构. 当重构参数仅仅是增加一个或减少一个参数,可以在方法调用处,将要添加参数添加上,然后直接使用alt+enter,会提示修改方法本身参数,比较方便 二.抽取 1.提取变量 使用快捷键会提示修改多个应用这个变量,还是仅一处,选择修改多处,完成变量提取. 2.抽取静态变量 同样使用他可以将变量抽取成为静态变量. 3.抽

APUE学习笔记-记录二

这次回顾APUE中第三四章的内容,主要是文件I/O操作相关的接口函数.    UNIX系统的文件I/O是不带缓冲的I/O,不带缓冲是指每个read和write都调用系统内核的一个系统调用. 1.文件描述符 UNIX I/O的所有函数都是基于文件描述符来操作的.那什么是文件描述符呢?文件描述符是一个非负整数.当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符.该文件描述符fd是所有UNIX I/O函数的操作对象.UNIX系统把文件描述符0与进程标准输入关联,把文件描述符1与进程标准