【软件工程】测试规格

news2025/1/21 5:00:45

1. 引言

1.1简介

本次的测试用例是基于核心代码基本开发完毕,在第一代系统基本正常运行后编写的,主要目的是为了后续开发与维护的便利性。

该文档主要受众为该系统后续开发人员,并且在阅读此文档前最后先阅读本系统的需求文档、概要设计文档与详细设计文档。在本文档中,我们将依据需求文档中所描述的功能模块进行黑盒测试并编写其测试用例,依据概要设计文档与详细设计文档进行白盒测试并编写其测试用例。

1.2术语定义

黑盒测试

​ 黑盒测试也称功能性测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

白盒测试

​ 白盒测试指考虑系统或组件的内部机制的测试形式,也称为结构性测试。白盒测试要求软件测试工程师也需要具有编程能力。白盒测试的方法主要可分为两种:一种是基于逻辑结构的测试(逻辑覆盖测试),另一种则是基于控制流图的测试(控制流图覆盖测试)。

功能性测试

​ 按照系统需求定义中的功能定义部分对系统实行的系统级别的测试。

非功能性测试

​ 按照系统需求定义中的非功能定义部分(如系统的性能指标,安全性能指标等)对系统实行的系统级别的测试。

测试用例

​ 测试人员设计出来的用来测试软件某个功能的一种情形。

2. 系统结构

2.1硬件设计

该系统主要基于软件部分的开发,所以对于硬件部分,只需要满足运行软件这一个需求即可,具体来说即:

  • PC机一台,安装Windows11操作系统

  • CPU:P4 1.8GHz以上

  • 内存:1GB以上

  • 分辨率:推荐1920 × \times × 1080

2.2软件设计

主要的模块组分为两个部分,现将每一部分拆解开来,对于该系统,所包含的主要模块如下图所示:

image-20240404105507306

图1.学生成绩管理系统模块设计图

3.测试用例设计

3.1白盒测试

在白盒测试中,我们对登录模块和注册模块采用条件组合覆盖和基本路径覆盖两种方法进行测试用例的编写。

3.1.1登录模块:

表3-1 登录模块

登录模块
1.1 模块描述:输入用户名,密码与验证码,登录进系统
1.2 功能:接受用户输入的用户名,密码与验证码,并逐一检查验证码,用户名与密码是否正确,如正确则登入,失败则提示。
1.3 性能:能够检查用户名、密码的正确性。
1.4 输入项:用户名,密码与验证码。
1.5 输出项:成功登录、“验证码错误”或“账号或密码错误”。

输入为(用户名与密码, 验证码)

记A为正确的验证码,a为错误的验证码

记B为正确匹配的用户名与密码,b为不匹配的用户名与密码

条件组合覆盖:流程图如下

image-20240404105628982

图2登录模块流程逻辑图

  1. 验证码正确 记作 T1

  2. 验证码错误 记作 T1非

  3. 条件匹配 记作 T2

  4. 条件不匹配 记作 T2非

表3-2:条件组合覆盖基本路径测试用例

测试用例通过路径覆盖条件覆盖组合号
【(A , b),(账号或密码错误)】①②⑤⑥⑦⑧T1、T2非1、4
【(a , B),(验证码错误)】①②③④T1非、T22、3
【(A , B),(登录成功)】①②⑤⑥⑨⑩T1、T21、3

基本路径覆盖:控制流图如下

image-20240404105649165

图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 输出项:“注册成功”、“请输入用户名”、“用户名不规范”、“请输入密码”、“密码格式不规范”、“密码太简单了哦,加上字母试试吧”、“请选择密保问题”、“请输入密保答案”。

条件组合覆盖:流程图如下

image-20240404105707316

图4注册模块流程逻辑图

  1. 用户名不为空 记作 T1

  2. 用户名为空 记作 T1非

  3. 用户名规范 记作 T2

  4. 用户名不规范 记作 T2非

  5. 密码为空 记作 T3

  6. 密码不为空 记作 T3非

  7. 密码规范 记作 T4

  8. 密码不规范 记作 T4非

  9. 密码复杂度符合要求 记作 T5

  10. 密码复杂度不符合要求 记作 T5非

  11. 已选择密保 记作 T6

  12. 未选择密保 记作 T6非

  13. 已输入密保问题 记作 T7

  14. 未输入密保问题 记作 T7非

  15. 已输入密保答案 记作 T8

  16. 未输入密保答案 记作 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、T81、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

img

图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的小数

测试用例:

编号输入输出覆盖的等价类
195编辑/修改成绩操作成功1
2-63编辑/修改成绩操作失败2
31000编辑/修改成绩操作失败3
4a26编辑/修改成绩操作失败4
586.3编辑/修改成绩操作失败5

4.测试评估

4.1测试任务评估

本系统测试用时约10周,共计测试了6个功能模块,包括登录模块、网页表象增加模块、申诉成绩模块、编辑成绩模块、修改学生信息模块、添加学生模块。本次测试时间和内容都比较紧张,本组自己认为较为优异的完成了测试的既定目标。

为了让学生成绩管理系统成功完整的运行,在测试过程中,测试组各测试人员分工明确,严格按照实验指导书上的流程进行白盒与黑盒测试,得到了令人满意的结果。

4.2测试对象评估

总体来说,测试对象基本符合测试阶段质量要求。虽然在信息修改模块中出现了一个小错误,但影响较小,且通过后续的修正完成了对程序缺陷的修复,并在重新测试中展现了良好的性能。在系统功能方面,经过测试,本系统逻辑判断完整,系统容错率高,未产生无响应和死锁现象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1571648.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt事件学习案例

视频链接 https://www.bilibili.com/video/BV18B4y1K7Cs?p7&spm_id_frompageDriver&vd_sourcefa4ef8f26ae084f9b5f70a5f87e9e41bQt5跟着视频做即可&#xff0c;Qt6部分代码需要改动,改动的地方注释有写 素材 百度云 链接&#xff1a;https://pan.baidu.com/s/158j…

K8S - Deployment 的版本回滚

当前状态 先看deployment rootk8s-master:~# kubectl get deploy -o wide --show-labels NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES …

蓝桥杯嵌入式(G431)备赛笔记——LED

cubeMX配置: 原理图,其中PD2高电平使能锁存器,PC8-15默认给高电平,放置上电初始化LED亮 74HC573是八路输出锁存器 1脚是使能,低电平有效,高电平输出高阻 2~9是输入,PC8-PC15 19~12是输出 11是锁存,即PD2: 高电平是同步,即输出跟随输入变化 低电平锁存,即输出不再改变 …

RUST Rover 条件编译 异常处理

按官方处理发现异常 会报异常 error: failed to parse manifest at C:\Users\topma\RustroverProjects\untitled2\Cargo.toml 修改模式如下才能正常编译 网上说明 这样处理 https://course.rs/cargo/reference/features/intro.html RUST 圣经里描述 [features] print-a []…

如何用putty通过ssh连接ubuntu

1. 下载和安装PuTTY 访问PuTTY官网下载PuTTY的最新版本。 2. 打开PuTTY 解压下载的文件后&#xff0c;找到PuTTY文件并双击打开。 3. 配置SSH连接 在ubuntu下安装ssh服务在安装ssh时&#xff0c;我一直遇到一个问题&#xff0c;原因是我的虚拟机连不上网&#xff0c;反复实…

Linux之shell脚本编辑工具awk

华子目录 概念工作流程工作图流程&#xff08;按行处理&#xff09; awk程序执行方式1.通过命令行执行awk程序实例 2.awk命令调用脚本执行实例 3.直接使用awk脚本文件调用实例 awk命令的基本语法格式BEGIN模式与END模式实例awk的输出 记录和域&#xff08;记录表示数据行&#…

若依:一个基于Spring Boot、Spring Security、JWT、Vue和Element的全部开源快速开发平台

若依后台管理系统&#xff1a;一个基于Spring Boot、Spring Security、JWT、Vue和Element的全部开源快速开发平台 一、引言 随着软件开发技术的发展&#xff0c;前后端分离的开发模式逐渐成为主流。这种模式能够提高开发效率&#xff0c;降低维护成本&#xff0c;使前后端工程…

SketchUp Pro 2024 for mac 草图大师 专业的3D建模软件

SketchUp Pro 2024 for Mac是一款功能强大的三维建模软件&#xff0c;适用于Mac电脑。其简洁易用的界面和强大的工具集使得用户可以轻松创建复杂的3D模型。 软件下载&#xff1a;SketchUp Pro 2024 for mac v24.0.483 激活版下载 SketchUp Pro 2024 for Mac支持导入和导出多种文…

leetcode.面试题 02.07. 链表相交

题目 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 思路 假a在链表A上移动,b在链表B上移动&#xff0c;a移动完在B上开始&…

人脸识别:Arcface--loss+code

之前只接触过传统方法的人脸识别算法&#xff0c;本以为基于深度学习的方法会使用对比损失之类的函数进行训练&#xff0c;但是Arcface算法基于softmax进行了创新&#xff0c;本文未深究其详细的loss公式原理&#xff0c;在大致明白其方向下&#xff0c;运行了代码&#xff0c;…

加速度:电子元器件营销网站的功能和开发周期

据工信部预计&#xff0c;到2023年&#xff0c;我国电子元器件销售总额将达到2.1万亿元。随着资本的涌入&#xff0c;在这个万亿级赛道&#xff0c;市场竞争变得更加激烈的同时&#xff0c;行业数字化发展已是大势所趋。电子元器件B2B商城平台提升数据化驱动能力&#xff0c;扩…

云服务器ECS租用价格表报价——阿里云

阿里云服务器租用价格表2024年最新&#xff0c;云服务器ECS经济型e实例2核2G、3M固定带宽99元一年&#xff0c;轻量应用服务器2核2G3M带宽轻量服务器一年61元&#xff0c;ECS u1服务器2核4G5M固定带宽199元一年&#xff0c;2核4G4M带宽轻量服务器一年165元12个月&#xff0c;2核…

docker的安装及入门指令

目录 一、将docker安装到云服务器步骤 1.更新系统yum版本 2.安装所需依赖 3.添加docker仓库设置(使用的是阿里云) 4.安装docker引擎 5.启动docker并开启自动启动 6. 检查是否安装成功&#xff0c;成功会显示相应版本&#xff0c;否则安装失败 二、docker常用命令 1.从…

Chatgpt掘金之旅—有爱AI商业实战篇|专业博客|(六)

演示站点&#xff1a; https://ai.uaai.cn 对话模块 官方论坛&#xff1a; www.jingyuai.com 京娱AI 一、AI技术创业博客领域有哪些机会&#xff1f; 人工智能&#xff08;AI&#xff09;技术作为当今科技创新的前沿领域&#xff0c;为创业者提供了广阔的机会和挑战。随着AI技…

微信小程序短链接工具推荐

现在微信小程序大行其道&#xff0c;但工作中大部分人选择了短链接的方式来推广微信小程序&#xff0c;那么微信小程序短链接工具哪个好?今天就分享一篇从网上看到的关于《微信小程序短链接工具推荐》文&#xff0c;作者是souki&#xff0c;一起来看看吧! 一、缩链 1、生成方…

前端面试高频: 理解 React/Vue 中 Key 的作用

一: 引言 在 React 或 Vue 项目中&#xff0c;我们经常在列表组件中使用key属性。key是给每一个vnode的唯一id&#xff0c;它在列表渲染和虚拟 DOM 操作中扮演着重要的角色。 当我们在渲染一个包含多个相同子组件的列表时&#xff0c;如果没有使用 key&#xff0c;React 或 Vue…

Django--admin 后台管理站点

Django最大的优点之一&#xff0c;就是体贴的提供了一个基于项目model创建的一个后台管理站点admin。这个界面只给站点管理员使用&#xff0c;并不对大众开放。虽然admin的界面可能不是那么美观&#xff0c;功能不是那么强大&#xff0c;内容不一定符合你的要求&#xff0c;但是…

苹果CMSV10整合dplayer播放器增加记忆+P2P播放+自动下一集功能插件详细保姆级教程

1.本站已打包&#xff0c;可以直接下载然后上传到你服务器的苹果CMS网站static/player目录下就可以了&#xff0c;下面是教程 wlm3u8.js代码&#xff1a; MacPlayer.Html <iframe border"0" src"mac<span class"wp_keywordlink"><a hre…

python相机校准

文章目录 张正友标定法角点检测标定去畸变 张正友标定法 相片是三维世界在二维平面上的投射&#xff0c;故而其深度信息是损失掉了的。但是&#xff0c;如果把拍照看作理想的小孔成像过程&#xff0c;那么相片中的每个像素&#xff0c;都将通过一个锥体与世界中真实的点一一对…

docker进行jenkins接口自动化测试持续集成实战

文章目录 一、接口功能自动化测试项目源码讲解二、接口功能自动化测试运行环境配置1、下载jdk&#xff0c;maven&#xff0c;git&#xff0c;allure并配置对应的环境变量2、使用docker安装jenkins3、配置接口测试的运行时环境选择对应节点4、jenkins下载插件5、jenkins配置环境…