黑盒测试的定义
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
设计测试用例
黑盒测试用例的设计方法主要包括等价分类法和边界值分析法。我的个人项目,更适合用等价分类法,所以我采用等价分类法对我的个人项目——图书馆借书预约系统进行黑盒测试。
•用户登录测试
输入数据 | 有效等价类 | 编号 | 无效等价类 | 编号 |
输入有效的帐号和密码 | 数据库中存在的用户及对应密码 | 1 | 帐号为空 | 2 |
密码为空 | 3 | |||
帐号和密码都为空 | 4 |
编号 | 测试用例 | 预期结果 | 测试结果 |
Test1 | 帐 号:2013551607 密 码:2013551607 | 提示“你的帐号是:2013551607 登陆成功” | 提示“你的帐号是:2013551607 登陆成功” |
编号 | 测试用例 | 预期结果 | 测试结果 |
Test2 | 帐 号: 密 码:2013551607 | 提示“帐号和密码不能为空,请输入用户名和密码!” | 提示“帐号和密码不能为空,请输入用户名和密码!” |
Test3 | 帐 号:2013551607
密 码: | 提示帐号和密码不能为空,请输入用户名和密码!” | 提示“帐号和密码不能为空,请输入用户名和密码!” |
Test4 | 帐 号: 密 码: | 提示“帐号和密码不能为空,请输入用户名和密码!” | 提示“帐号和密码不能为空,请输入用户名和密码!” |
Test5 | 帐 号:2013551607
密 码:201355160 | 提示“帐号或密码错误” | 提示“帐号或密码错误” |
Test6 | 帐 号:4513551607 密 码:2013551607 | 提示“帐号或密码错误” | 提示“帐号或密码错误” |
•用户注册测试
输入数据 | 有效等价类 | 编号 | 无效等价类 | 编号 |
输入有效的帐号、密码和确认密码 | 输入数据库表不存在的帐号 | 1 | 输入数据库表存在的帐号 | 3 |
帐号输入为空 | 4 | |||
相同密码和确认密码 | 2 | 密码框输入为空 | 5 | |
确认密码框输入为空 | 6 | |||
密码和确认密码框输入都为空 | 7 | |||
输入不同的密码和确认密码 | 8 |
编号 | 测试用例 | 预期结果 | 测试结果 |
Test1 | 帐 号:2013551613 密 码:2013551613 确认密码:2013551613 | 提示“注册成功” | 提示“注册成功” |
编号 | 测试用例 | 预期结果 | 测试结果 |
Tes2 | 帐 号:2013551607 密 码:2013551613 确认密码:2013551613 | 提示“该用户已经注册过!” | 提示“该用户已经注册过!” |
Test3 | 帐 号: 密 码:2013551613 确认密码:2013551613 | 提示“帐号和密码不能为空!” | 提示“帐号和密码不能为空!” |
Test4 | 帐 号:2013551613 密 码: 确认密码:2013551613 | 提示“对不起,图书馆没有此书!” | 提示“对不起,图书馆没有此书!” |
Test5 | 帐 号:2013551613 密 码:2013551613 确认密码: | 提示“帐号和密码不能为空!” | 提示“帐号和密码不能为空!” |
Test6 | 帐 号:2013551613 密 码: 确认密码: | 提示“帐号和密码不能为空!” | 提示“帐号和密码不能为空!” |
Test7 | 帐 号:2013551613 密 码:20135516 确认密码:2013551613 | 提示“你两次输入的密码不同,请确认!” | 提示“你两次输入的密码不同,请确认!” |
•图书预约测试
当前登录用户为:2013551607
当前已预约图书的数据如下:
该测试数据是基于以上情况所做的。
输入数据 | 有效等价类 | 编号 | 无效等价类 | 编号 |
输入书名和有效的书号 | 输入没有预约过且数据库表(book)中存在的书号 | 1 | 输入已经预约过的书号 | 4 |
输入数据库表(book)中不存在的书号 | 5 | |||
输入没有预约过且数据库表(book)中存在的书名及对应的书号 | 2 | 输入没有预约过且数据库表(book)中存在的书名和数据库中不存在的书号 | 6 | |
输入没有预约过且数据库表(book)中存在的书名和已经预约过的书号 | 7 | |||
输入预约过的书名和没有预约过且数据库表(book)中存在的书号 | 3 | 输入预约过的书名和数据库中不存在的书号 | 8 | |
输入预约过的书名和已经预约过的书号 | 9 |
编号 | 测试用例 | 预期结果 | 测试结果 |
Test1 | 书名: 书号:TP312C/2778 | 提示“预约成功” | 提示“预约成功” |
Test2 | 书名:C语言程序设计 书号:TP312C/2778 | 提示“预约成功” | 提示“预约成功” |
Test3 | 书名:Python语言在Abaqus中的应用 书号:TP312C/2778 | 提示“预约成功” | 提示“预约成功” |
编号 | 测试用例 | 预期结果 | 测试结果 |
Test4 | 书名: 书号:TP311.56/1810 | 提示“您已预约此书,请不要重复预约!” | 提示“您已预约此书,请不要重复预约!” |
Test5 | 书名: 书号:12345678 | 提示“对不起,图书馆没有此书!” | 提示“对不起,图书馆没有此书!” |
Tes6 | 书名:C语言程序设计 书号:12345678 | 提示“对不起,图书馆没有此书!” | 提示“对不起,图书馆没有此书!” |
Tes7 | 书名:C语言程序设计 书号:TP311.56/1810 | 提示“您已预约此书,请不要重复预约!” | 提示“您已预约此书,请不要重复预约!” |
Tes8 | 书名:Python语言在Abaqus中的应用 书号:123456789 | 提示“对不起,图书馆没有此书!” | 提示“对不起,图书馆没有此书!” |
Tes9 | 书名:Python语言在Abaqus中的应用 书号:TP311.56/1810 | 提示“您已预约此书,请不要重复预约!” | 提示“您已预约此书,请不要重复预约!” |
有效等价类 | 编号 |