1. 引言
1.1简介
本次的测试用例是基于核心代码基本开发完毕,在第一代系统基本正常运行后编写的,主要目的是为了后续开发与维护的便利性。
该文档主要受众为该系统后续开发人员,并且在阅读此文档前最后先阅读本系统的需求文档、概要设计文档与详细设计文档。在本文档中,我们将依据需求文档中所描述的功能模块进行黑盒测试并编写其测试用例,依据概要设计文档与详细设计文档进行白盒测试并编写其测试用例。
1.2术语定义
黑盒测试
黑盒测试也称功能性测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
白盒测试
白盒测试指考虑系统或组件的内部机制的测试形式,也称为结构性测试。白盒测试要求软件测试工程师也需要具有编程能力。白盒测试的方法主要可分为两种:一种是基于逻辑结构的测试(逻辑覆盖测试),另一种则是基于控制流图的测试(控制流图覆盖测试)。
功能性测试
按照系统需求定义中的功能定义部分对系统实行的系统级别的测试。
非功能性测试
按照系统需求定义中的非功能定义部分(如系统的性能指标,安全性能指标等)对系统实行的系统级别的测试。
测试用例
测试人员设计出来的用来测试软件某个功能的一种情形。
2. 系统结构
2.1硬件设计
该系统主要基于软件部分的开发,所以对于硬件部分,只需要满足运行软件这一个需求即可,具体来说即:
-
PC机一台,安装Windows11操作系统
-
CPU:P4 1.8GHz以上
-
内存:1GB以上
-
分辨率:推荐1920 × \times × 1080
2.2软件设计
主要的模块组分为两个部分,现将每一部分拆解开来,对于该系统,所包含的主要模块如下图所示:
图1.学生成绩管理系统模块设计图
3.测试用例设计
3.1白盒测试
在白盒测试中,我们对登录模块和注册模块采用条件组合覆盖和基本路径覆盖两种方法进行测试用例的编写。
3.1.1登录模块:
表3-1 登录模块
登录模块 |
---|
1.1 模块描述:输入用户名,密码与验证码,登录进系统 |
1.2 功能:接受用户输入的用户名,密码与验证码,并逐一检查验证码,用户名与密码是否正确,如正确则登入,失败则提示。 |
1.3 性能:能够检查用户名、密码的正确性。 |
1.4 输入项:用户名,密码与验证码。 |
1.5 输出项:成功登录、“验证码错误”或“账号或密码错误”。 |
输入为(用户名与密码, 验证码)
记A为正确的验证码,a为错误的验证码
记B为正确匹配的用户名与密码,b为不匹配的用户名与密码
条件组合覆盖:流程图如下
图2登录模块流程逻辑图
-
验证码正确 记作 T1
-
验证码错误 记作 T1非
-
条件匹配 记作 T2
-
条件不匹配 记作 T2非
表3-2:条件组合覆盖基本路径测试用例
测试用例 | 通过路径 | 覆盖条件 | 覆盖组合号 |
---|---|---|---|
【(A , b),(账号或密码错误)】 | ①②⑤⑥⑦⑧ | T1、T2非 | 1、4 |
【(a , B),(验证码错误)】 | ①②③④ | T1非、T2 | 2、3 |
【(A , B),(登录成功)】 | ①②⑤⑥⑨⑩ | T1、T2 | 1、3 |
基本路径覆盖:控制流图如下
图3:控制流图
Path1(基线路径) L1:1-2-3-5-6-8
Path2(翻转节点3) L2:1-2-3-4-8
Path3(翻转节点6) L3:1-2-3-5-6-7-8
表3-3:基本路径测试用例
测试用例 | 通过路径 |
---|---|
【(A , B),(登录成功)】 | L1 |
【(A , b),(账号或密码错误)】 | L3 |
【(a , B),(验证码错误)】 | L2 |
3.1.2注册模块
表3-4注册模块
注册模块 |
---|
1.1 模块描述:注册一个新的用户。 |
1.2 功能:输入用户名等信息,注册一个新的用户。 |
1.3 性能:能过检查用户名、密码等的正确性。 |
1.4 输入项:用户名、密码、密保问题及答案。 |
1.5 输出项:“注册成功”、“请输入用户名”、“用户名不规范”、“请输入密码”、“密码格式不规范”、“密码太简单了哦,加上字母试试吧”、“请选择密保问题”、“请输入密保答案”。 |
条件组合覆盖:流程图如下
图4注册模块流程逻辑图
-
用户名不为空 记作 T1
-
用户名为空 记作 T1非
-
用户名规范 记作 T2
-
用户名不规范 记作 T2非
-
密码为空 记作 T3
-
密码不为空 记作 T3非
-
密码规范 记作 T4
-
密码不规范 记作 T4非
-
密码复杂度符合要求 记作 T5
-
密码复杂度不符合要求 记作 T5非
-
已选择密保 记作 T6
-
未选择密保 记作 T6非
-
已输入密保问题 记作 T7
-
未输入密保问题 记作 T7非
-
已输入密保答案 记作 T8
-
未输入密保答案 记作 T8非
输入为(用户名, 密码, 密保问题,密保答案)
记规范的用户名为A1,不规范的用户名为A2,用户名为空为A3
记规范且复杂度符合要求的密码为B1,规范且复杂度不符合要求的密码为B2,不规范且复杂度符合要求的密码为B3,不规范且复杂度不符合要求的密码为B4
密码为空为B5
记密保问题及答案非空为C1,密保问题及答案为空为C2
记密保答案非空为D1,密保答案为空为D2
表3-5条件组合覆盖路径
测试用例 | 通过路径 | 覆盖条件 | 覆盖组合号 |
---|---|---|---|
【(A1、B1、C1、D1),(注册成功)】 | (1、2、5、8、11、14、17、20、23、24) | T1、T2、T3、T4、T5、T6、T7、T8 | 1、3、5、7、9、11、13、15 |
【( A3、B5、C2、D2),(请输入用户名)】 | (1、2、3、4) | T1非、T2非、T3非、T4非、T5非、T6非、T7非、T8非 | 2、4、6、8、10、12、14、16 |
图5:基本路径覆盖:控制流图如下
Path1(基线路径)L1:1-2-3-5-7-9-11-13-15-17-18
Path2 (翻转节点3) L2:1-2-3-4-18
Path3 (翻转节点5) L3:1-2-3–5-6-18
Path4 (翻转节点7) L4:1-2-3-5-7-8-18
Path5(翻转节点9) L5:1-2-3-5-7-9-10-18
Path6(翻转节点11) L6:1-2-3-5-7-9-11-12-18
Path7(翻转节点13) L7:1-2-3-5-7-9-11-13-14-18
Path8(翻转节点15) L8:1-2-3-5-7-9-11-13-15-16-18
输入为(用户名, 密码, 密保问题,密保答案)
记规范的用户名为A1,不规范的用户名为A2,用户名为空为A3
记规范且复杂度符合要求的密码为B1,规范且复杂度不符合要求的密码为B2,不规范且复杂度符合要求的密码为B3,不规范且复杂度不符合要求的密码为B4
密码为空为B5
记密保问题及答案非空为C1,密保问题及答案为空为C2
记密保答案非空为D1,密保答案为空为D2
表3-6:注册模块基本路径测试用例
测试用例 | 通过路径 |
---|---|
【(A1 , B1 , C1 , D1),(注册成功)】 | L1 |
【(A3 , B1 , C1 , D1),(请输入用户名)】 | L2 |
【(A2 , B1 , C1 , D1),(用户名不规范)】 | L3 |
【(A1 , B5 , C1 , D1),(请输入密码)】 | L4 |
【(A1 , B3 , C1 , D1),(密码格式不规范)】 | L5 |
【(A1 , B2 , C1 , D1),(密码太简单了哦,加上字母试试吧)】 | L6 |
【(A1 , B1 , C2 , D1),(请选择密保问题)】 | L7 |
【(A1 , B1 , C1 , D2),(请输入密保答案)】 | L8 |
3.2黑盒测试
3.2.1注册功能
功能描述:用户在注册界面按照要求输入用户名、密码、密保问题、密保答案后,点击注册即可注册成功。
等价类划分:
输入参数 | 有效等价类 | 无效等价类 |
---|---|---|
注册的学号 | 1. 9个数字2. 20开头 | 3. 长度<94. 长度>95. 含有非数字其他字符 |
密码 | a. 6~20个任意字符 | b. 长度<6c. 长度>20 |
密保问题选择 | A. 从已有问题中选择一个问题 | |
密保答案 | 一. 任意字符 |
测试用例(基本选择覆盖):
编号 | 输入 | 输出 | 覆盖的等价类 |
---|---|---|---|
1 | (202308012 ,123abc. ,你最喜欢的书,111) | 注册成功 | 1、2、a、A、一(基本测试用例) |
2 | (abcdefg ,123abc. ,你最喜欢的书,111) | 注册失败 | 3、5、a、A、一 |
3 | (202256545585 ,123abc. ,你最喜欢的书,111) | 注册失败 | 4、a、A、一 |
4 | (a到z ,123abc. ,你最喜欢的书,111) | 注册失败 | 4、5、a、A、一 |
5 | (2034565545% ,123abc. ,你最喜欢的书,111) | 注册失败 | 2、4、5、a、A、一 |
6 | (203456745 ,123 ,你最喜欢的书,111) | 注册失败 | 1、2、b、A、一 |
7 | (203456726 ,a到z ,你最喜欢的书,111) | 注册失败 | 1、2、c、A、一 |
3.2.2修改学生信息功能
功能描述:在学生信息管理界面点击修改按钮后,在新出现的界面按照要求输入新的学生信息后,点击确定即修改成功。主要修改的信息包括学生姓名,学生性别。
等价类划分:
输入参数 | 有效等价类 | 无效等价类 |
---|---|---|
学生姓名 | 1. 1到10的汉字和·的组合,其中·不能出现在第一位和最后一位 | 2. ·出现在第一位3. ·出现在最后一位4. 含其他字母5. 长度大于10 |
学生性别 | a. 男b. 女 | c. 除了男女之外的所有输入 |
测试用例:
编号 | 输入 | 输出 | 覆盖的等价类 |
---|---|---|---|
1 | (张三,男) | 修改成功 | 1、a(基本测试用例) |
2 | (张三,女) | 修改成功 | 1、b |
3 | (张·三,第三性别) | 修改失败 | 1、c |
4 | (·张三,男) | 修改失败 | 2、a |
5 | (张三·,女) | 修改失败 | 3、b |
6 | (张三boy,男) | 修改失败 | 4、a |
7 | (张三三三三·三三三三三,女) | 系统异常 | 5、b |
3.2.3修改成绩/编辑成绩功能
功能描述:在这修改成绩/编辑成绩界面,按照要求输入成绩后,即会修改成功。
等价类划分:
输入参数 | 有效等价类 | 无效等价类 |
---|---|---|
学生成绩 | 1. 0到100的数字 | 2. 小于03. 大于1004. 非数字字符5. 非0.5的小数 |
测试用例:
编号 | 输入 | 输出 | 覆盖的等价类 |
---|---|---|---|
1 | 95 | 编辑/修改成绩操作成功 | 1 |
2 | -63 | 编辑/修改成绩操作失败 | 2 |
3 | 1000 | 编辑/修改成绩操作失败 | 3 |
4 | a26 | 编辑/修改成绩操作失败 | 4 |
5 | 86.3 | 编辑/修改成绩操作失败 | 5 |
4.测试评估
4.1测试任务评估
本系统测试用时约10周,共计测试了6个功能模块,包括登录模块、网页表象增加模块、申诉成绩模块、编辑成绩模块、修改学生信息模块、添加学生模块。本次测试时间和内容都比较紧张,本组自己认为较为优异的完成了测试的既定目标。
为了让学生成绩管理系统成功完整的运行,在测试过程中,测试组各测试人员分工明确,严格按照实验指导书上的流程进行白盒与黑盒测试,得到了令人满意的结果。
4.2测试对象评估
总体来说,测试对象基本符合测试阶段质量要求。虽然在信息修改模块中出现了一个小错误,但影响较小,且通过后续的修正完成了对程序缺陷的修复,并在重新测试中展现了良好的性能。在系统功能方面,经过测试,本系统逻辑判断完整,系统容错率高,未产生无响应和死锁现象。