软件测试案例 | 某教务管理平台系统的系统测试总结报告

简介: 集成测试通过之后,各个模块已经被组装成了一个完整的软件包,这时就需要进行系统测试了。传统的系统测试指的是通过集成测试的软件系统,作为计算机系统的一个重要组成部分,其将与计算机硬件、外部设备、支撑软件等其他系统元素组合在一起进行测试,目的在于通过与系统需求定义作比较,发现软件与需求规格不符合或者相矛盾的地方,从而提出更加完善的解决方案。这里特别提出需要软硬件支撑的虚拟现实(Virtual Reality,VR)项目测试的特殊性。

本节以“某教务管理平台系统”的系统测试总结报告为例,介绍软件项目的系统测试活动是如何组织安排的。

01、测试前的准备

1. 测试目的

进行系统测试主要有以下4个目的。

(1) 通过分析测试结果,得到对软件质量的评价。

(2) 分析测试的过程、产品、资源、信息,为以后制订测试计划提供参考。

(3) 评估测试执行和测试计划是否符合产品需求。

(4) 分析系统存在的缺陷,为修复和预防Bug提供建议。

2. 术语定义

出现以下缺陷,测试将会把问题定义为严重Bug。

(1) 系统无响应,处于死机状态,需要人工修复才可复原。

(2) 选择某个菜单后出现“页面无法显示”或者返回异常错误。

(3) 进行某个操作(增加、修改、删除等)后,出现“页面无法显示”或者返回异常错误。

(4) 当对必填字段进行校验时,未输入必填字段,却出现“页面无法显示”或者返回异常错误。

(5) 系统定义为不能重复的字段,在输入重复数据后,出现“页面无法显示”或者返回异常错误。

02、测试概要

该软件系统测试共持续22天,测试功能点124个,执行1780个测试用例,平均每个功能点执行测试用例14.3个,测试共发现244个Bug,其中严重级别的Bug42个,无效Bug35个,平均每个测试功能点1.8个Bug。

本软件共发布了9个测试版本,其中,V1~V4为计划内迭代开发版本(针对项目计划的基线标识),V5~V9为回归测试版本。计划内测试版本V1~V4测试进度依照项目计划时间晚2天完成并提交报告。V5~V9为计划外回归测试版本,总体比计划晚5天完成测试。

本软件测试通过项目管理工具中的缺陷管理进行缺陷跟踪管理,V1~V4测试阶段都有详细的Bug分析表和阶段测试报告。

  1. 功能性测试用例

(1) 系统实现的主要功能,包括各实体内容的查询、添加、修改、删除。

(2) 系统实现的次要功能,包括学期自动切换,为用户分配权限,课程教师与班级绑定,大纲与课程绑定,权限控制菜单按钮等。

(3) 需求规定的输入输出字段,以及需求规定的输入限制。

  1. 易用性测试用例

(1) 操作按钮提示信息的正确性、一致性、可理解性。

(2) 限制条件提示信息的正确性、一致性、可理解性。

(3) 必填项的标识。

(4) 输入方式的可理解性。

(5) 中文界面下数据语言与界面语言的一致性。

03、测试环境

1. 软硬件环境

本次系统测试的软硬件环境如表1所示。

■ 表1 系统测试软硬件环境配置


640.png


##2. 网络环境

本次系统测试的网络拓扑结构如图1所示。

640.png


■ 图1 系统测试网络拓扑结构

04、测试结果

1. Bug趋势图

此次系统测试共发布9个测试版本,其中,V1~V4为计划内迭代开发版本,V5~V9为回归测试版本,Bug版本趋势图如图2所示。

640.png


■ 图2 Bug版本趋势图

(1) 第一阶段(V1~V4):增量确认测试。

V1:从图7-3中看到V1共有43个Bug,因为V1版本有一个功能模块在V2版本才开始测试,故V1测试模块相对较少,该版本Bug相对较少。

V2:由于V1中的一个功能模块增加到V2中进行测试,这一版本除了对V1中的Bug进行验证,同时对V1进行了回归测试,所以V2中的Bug数相对V1出现了明显的增长趋势。

V3:V3版本因为有V2版本的Bug验收测试,以及V1、V2的回归测试,共发现23个Bug,有了明显的下降,说明前期测试的工作及程序开发人员的修正的效率和质量都比较高。

V4:V4版本Bug数有一个小幅回升增加的趋势,是因为提出了新的开发功能模块,该版本需求定义又有变动。
(2) 第二阶段(V5~V9):Bug验证及功能回归确认测试。

V5和V6进行了回归测试,V7对之前的Bug进行了验证。

V5:进行第一轮回归测试,发现Bug数量为21个。

V6:进行第二轮回归测试,第一次回归测试没有涉及权限控制菜单按钮的测试,在本次回归测试时重点进行这个方面的测试,又发现了大量与权限相关的Bug。

V7:没有进行全面的回归测试,只验证了V1~V6未通过验证的Bug,所以Bug数明显比较少。

V8:V8版本进行了全面的回归测试,同时重点测试了权限控制、业务流程以及前后关联映射,所以本次发现的Bug有7个是严重级别的,说明最后冲刺阶段系统测试的功能及业务控制还存在一定问题。

V9:V9版本经过程序开发人员较为精密的修改验证,为延期4天后提交的版本,本次对重新发布的版本进行了全面的回归测试,特别是对严重级别的Bug进行了重点测试,没有发现问题,只有个别功能性的问题存在操作便捷性的修正。总体说明系统功能已经稳定。

2. Bug严重程度

如图7-4所示,测试发现的Bug主要集中在“一般”和“次要”级别,属于一般性的缺陷,但是测试时出现了42个严重级别的Bug,严重级别的Bug主要表现在以下4方面。

(1) 系统主要功能没有实现。

(2) 添加数据代码重复后,出现找不到页面的错误。

(3) 学校学期自动切换控制这一功能未能有效形成约束,部分排课数据出现查询异常的问题。

(4) 所设计的数据库角色管理及控制混乱,出现部分角色找不到页面,或页面不具备操作权限等问题。

640.png


■ 图3 Bug严重程度图

3. Bug引入阶段

如图4所示,此次系统测试发现的Bug主要为后台编码阶段和前台编码阶段的Bug,甚至接近全部Bug总数的80%。

640.png


■ 图4 Bug引入阶段分析

4. Bug引入原因

如图5所示,此次系统测试发现的Bug主要源于前台编码、后台编码和易用性的不合要求,其占到全部Bug的78%。

640.png


■ 图5 Bug引入原因分析

5. Bug状态分布

如图6所示Bug状态图可以看出,未得到有效解决的Bug有3个,这是因为后期毕业设计流程的需求部分有变动,需要重新设计,所以暂时没有处理,其他部分都已经解决。

640.png


■ 图6 Bug状态图

05、测试结论

1. 功能性

系统正确地实现了基于学期管理的教务功能,实现了培养方案、课程及大纲等的自动获取和初始化,实现了学期教学安排、实验排课安排、毕业设计管理等功能,同时也实现角色及权限管理的查询、添加、修改、删除等操作,系统还实现了将权限控制细化到部分菜单按钮的功能。

系统在实现毕业设计管理功能的同时,存在毕业生学生志愿选择以及教师审核过程权限控制不严密的问题,权限设计有可以进一步补充完善的地方。

2. 易用性

现有系统实现了以下易用性。

(1) 查询、添加、删除、修改操作相关提示信息的一致性、可理解性。

(2) 输入限制的正确性。

(3) 输入限制提示信息的正确性、可理解性、一致性。

现有系统存在以下易用性缺陷。

(1) 界面排版不美观,部分页面功能按钮操作不符合大众习惯。

(2) 输入、输出字段的可理解性差。

(3) 输入缺少解释性说明。

(4) 中英文对应信息不完全正确。

3. 可靠性

现有系统的可靠性控制不够严密,很多控制是通过页面控制实现的,如果页面控制失效,用户有可能向数据库直接插入数据,引发错误。

现有系统的容错性不高,如果系统出现错误,返回错误类型为找不到页面错误,无法恢复到出错前的状态。

4. 兼容性

现有系统主要在Windows下测试,对IE11浏览器、Chrome84浏览器和Firefox88浏览器兼容,但未进行其他平台浏览器的兼容性测试。

5. 安全性

现有系统控制了以下安全性问题。

(1) 把某一个登录后的页面保存下来后,在本地打开并不能在不登录的情况下单独对其进行操作。

(2) 直接输入某一页面的URL不能打开页面并进行操作,会跳转到登录页面。

现有系统未实现以下安全功能。

(1) 用户名和密码对大小写敏感。

(2) 登录错误次数未作限制。

目录
相关文章
|
2天前
|
机器学习/深度学习 前端开发 测试技术
探索软件测试中的自动化测试框架选择与优化策略####
本文深入探讨了在当前软件开发生命周期中,自动化测试框架的选择对于提升测试效率、保障产品质量的重要性。通过分析市场上主流的自动化测试工具,如Selenium、Appium、Jest等,结合具体项目需求,提出了一套系统化的选型与优化策略。文章首先概述了自动化测试的基本原理及其在现代软件开发中的角色变迁,随后详细对比了各主流框架的功能特点、适用场景及优缺点,最后基于实际案例,阐述了如何根据项目特性量身定制自动化测试解决方案,并给出了持续集成/持续部署(CI/CD)环境下的最佳实践建议。 --- ####
|
2天前
|
缓存 监控 测试技术
全网最全压测指南!教你如何测试和优化系统极限性能
大家好,我是小米。本文将介绍如何在实际项目中进行性能压测和优化,包括单台服务器和集群压测、使用JMeter、监控CPU和内存使用率、优化Tomcat和数据库配置等方面的内容,帮助你在高并发场景下提升系统性能。希望这些实战经验能助你一臂之力!
12 3
|
6天前
|
测试技术 开发者 UED
探索软件测试的深度:从单元测试到自动化测试
【10月更文挑战第30天】在软件开发的世界中,测试是确保产品质量和用户满意度的关键步骤。本文将深入探讨软件测试的不同层次,从基本的单元测试到复杂的自动化测试,揭示它们如何共同构建一个坚实的质量保证体系。我们将通过实际代码示例,展示如何在开发过程中实施有效的测试策略,以确保软件的稳定性和可靠性。无论你是新手还是经验丰富的开发者,这篇文章都将为你提供宝贵的见解和实用技巧。
|
4天前
|
jenkins 测试技术 持续交付
软件测试中的自动化测试策略
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和效率的关键工具。本文将探讨自动化测试的重要性、实施策略以及面临的挑战,旨在为软件开发团队提供实用的指导和建议。
|
10天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
13天前
|
测试技术
探索软件测试中的“思维侧翼”——如何以创新思维引领测试策略###
本文旨在探讨软件测试领域中,如何通过培养与运用创新思维,提升测试策略的有效性与效率。不同于传统的技术解析或理论阐述,本文将以“思维侧翼”为喻,启发读者从不同维度审视软件测试,寻找突破常规的思路与方法。我们相信,在快速迭代的软件开发周期中,灵活多变且富有创造力的测试思维,是发现潜在缺陷、保障产品质量的关键。 ###
|
14天前
|
测试技术 定位技术 UED
软件测试的艺术:探索性测试的深度与广度
【10月更文挑战第22天】在软件开发的广阔舞台上,测试扮演着不可或缺的角色。本文将带领读者深入理解探索性测试(Exploratory Testing)的精髓,揭示其在现代软件质量保证中的价值。我们将通过实际案例、生动比喻和具体步骤,展现如何像艺术家一样进行软件测试,确保产品质量的同时,提升测试的效率和乐趣。文章不仅适合初学者建立测试基础,也能帮助资深测试人员深化对探索性测试的理解和应用。
|
12天前
|
监控 安全 jenkins
探索软件测试的奥秘:自动化测试框架的搭建与实践
【10月更文挑战第24天】在软件开发的海洋里,测试是确保航行安全的灯塔。本文将带领读者揭开软件测试的神秘面纱,深入探讨如何从零开始搭建一个自动化测试框架,并配以代码示例。我们将一起航行在自动化测试的浪潮之上,体验从理论到实践的转变,最终达到提高测试效率和质量的彼岸。
|
3天前
|
测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
【10月更文挑战第31天】 在当今快速迭代的软件开发环境中,自动化测试成为确保软件质量和加速产品上市的关键。本文探讨了自动化测试的重要性、实施策略以及一些最佳实践。通过分析不同类型的自动化测试工具和框架,本文旨在为软件开发团队提供一套实用的指导方案,以提高测试效率和质量。
|
27天前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
50 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
下一篇
无影云桌面