作业管理系统的测试方案的设计毕业论文Word格式.docx
- 文档编号:22219068
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:46
- 大小:1.52MB
作业管理系统的测试方案的设计毕业论文Word格式.docx
《作业管理系统的测试方案的设计毕业论文Word格式.docx》由会员分享,可在线阅读,更多相关《作业管理系统的测试方案的设计毕业论文Word格式.docx(46页珍藏版)》请在冰豆网上搜索。
通过制定测试计划,有利于对作业管理系统的功能性、安全性、可用性进行多方面的测试,使项目质量提高。
软件测试工作可以在保证其功能完善的前提下,提高项目的开发质量,将规范且科学化的测试方法应用到web开发中,有效提高web开发的效率。
1.2研究现状
软件测试技术是随着软件行业的产生,发展而出现的一种技术。
早期的软件,由于其规模和复杂度都小,软件的错误都是由程序员调试解决。
随着软件行业的发展,软件的规模越来越大,软件的复杂度越来越高,就需要专门的软件的测试人员,使用专门的软件测试技术对软件进行测试。
除了传统的手动测试外,更多的是借助专门的软件测试工具进行自动化的软件测试,越来越多的软件测试工具被应用到软件测试中。
软件测试目的是为了保证软件质量,所以在质量控制中,软件的规范性不断提高,贯穿其中的测试活动也越来越优化,其中包括软件设计文档评估、测试规划、测试结果报告。
所以在控制软件测试过程在根据现状的软件测试难度,去控制软件测试的时间以及如何在开发过程下如何进行。
1.3课题研究的内容和目的
在本课题中,测试web应用系统会通过自动化工具和手动测试的结合来完成本课题的研究的内容。
所以在本课题中,我会通过自动化测试,来测试web应用的功能测试、界面测试、链接测试……,和通过手动测试,来测试部分不必要用到自动化测试的地方。
本课题目的,通过测试web应用系统,说明测试在开发过程中的执行情况,比较自动化测试和手动测试,说明测试过程中,人有人的优势,机器有机器的优势,进行项目测试需要辩证地思考根据该系统作出哪些地方适合自动化测试做,并根据其写出适合的测试脚本,哪些地方适合手动测试。
1.4课题测试目标
测试目标有以下几点:
1.确保该作业管理系统完成了它所有功能
2.确保作业管理系统满足了功能需求中的性能的要求
3.确保该作业管理系统是健壮的和适应用户环境,例如适应浏览器、分辨率的适应
4.为作业管理系统的质量评估提供依据,即从测试作业管理系统后得出的测试报告,评估作业管理系统的质量。
5.依据测试报告,为作业管理系统的质量改进和管理提供帮助
所以作业管理系统的测试最终目标是确保系统的功能符合用户的需求,软件测试的目标是为了发现其中的缺陷,防止缺陷。
1.5论文结构
在本论文中,介绍了测试过程中根据不同的测试用例中,思考如何设计测试用例,使用什么方法测试。
其中介绍测试过程中使用的工具以及对工具的介绍,功能测试模块用例的设计与实现,界面及易用性测试用例执行,性能测试用例执行。
最后是总结本论文,我的感想和心得。
第2章:
作业管理系统的需求分析
本章的主要作用是介绍该系统的的背景,阐述测试需求概述,描述测试需求分析过程
2.1系统背景
教育部发布的《计算机类教学质量国家标准》指出,软件工程专业要具有满足教学需要的完备实践教学体系,主要包括实验课程、课程设计、实习、毕业设计(论文),4年总的实验当量不少于2万行代码。
现阶段,学生实验产生的代码散步于在线判断系统、实训平台和学生提交的文档中。
授课老师没有工具或平台能够集成学生在大学四年完成的实验成果,统计所编成的代码总行数。
为了解决这个问题,本系统将作业管理和代码行数累计分析功能相结合。
本课题完成作业管理系统的测试方案的设计。
主要功能包括:
1.账号管理的功能测试
2.课程、项目管理的功能测试
3.代码压缩包解析功能的正确性测试
4.代码行数累计功能的正确性测试
5.文档/代码压缩包提交、导出功能的正确性测试
6.实验完成情况的功能测试
2.2系统的结构
2.3测试流程
H模型:
介入点
准备过程
执行过程
测试过程
开发过程
H模型图
本测试过程参考采用H模型,这样介入早,与开发并行,更早的发现问题,测试过程独立于开发过程,更客观,更主动。
具体测试流程,如下图所示:
2.4测试需求概述
本系统需要对一下的系统功能进行测试:
1)验证后台管理和用户端的账户管理,验证管理员登陆后台和用户登录用户端是否可以正常的登录
2)系统管理员登录后台是否能进行对课程、教师表、学生表管理
3)验证用户上传代码文件能否行数累计成功和识别哪种编程语言
4)验证文档/代码压缩包提交、导出功能的正确性
2.5测试需求报告
序号
功能名称
功能需求标识
优先级
简要描述
备注
1
用户登录
login
中
用户在用户端登录系统
测试
2
课程管理
course
创建、删除、查看和修改课程
3
作业管理
homework
发布、删除、查看和修改作业
4
作业操作
hand-in
学生可以提交作业作文,并且能被下载
5
加入课程
course-select
学生可以加入公开课程或退出课程
6
代码量分析
code-analysis
分析作业(单个文件或ZIP压缩包)内的全部代码文件包括,并记录
7
主页导航栏
index
系统用户端界面操作导航栏
8
个人中心
profile
用户查看个人资料,修改邮箱、密码和自我描述
9
代码量分析报告
code-analysis-view
低
可视化展现学生全部代码提交分析数据
10
课程分组
course-student
老师将课程内的学生分组
11
作业讨论
homework-comment
老师和学生可以在发布的作业下讨论
12
作业统计
homework-count
统计发布作业的提交情况
13
邮件发送
email-send
系统生成随机验证码,并记录后发送到指定邮件地址
14
找回密码
forget-password-change
高
用户通过邮箱验证码找回密码
15
管理员登录
admin-login
管理员在管理端登录系统
16
管理员创建账号
admin-create-user
管理员可以创建单个或批量账号
17
修改账号
admin-change-user
管理员可以修改用户账号信息
18
权限管理
admin-privilege
超级管理员可以给用户赋权
第3章:
作业管理系统测试方案的测试环境及工具
本章的主要作用是介绍该系统使用的该web应用系统测试的使用工具以及对其的介绍。
3.1自动化测试框架设计
3.1.1测试环境搭建:
1)下载安装python3.8,并配置系统环境变量Path及下载pycharm软件
2)安装selenium,通过pip命令安装或者直接下载selenium包进行安装
3)下载HTMLTestRunnerCN,用于生成HTML测试报告
3.1.2使用seleniumIDE录制脚本
使用Selenium录制。
SeleniumIDE是基于FireFox浏览器的一个插件,为用户提供脚本录制、回放以及编辑功能,能够将录制的脚本导出生成相应的带单元测试框架的自动化脚本。
但是在多条数据测试用例偏多的情况下,推挤手写脚本,不推荐使用seleniumIDE。
所在在这里我是先使用seleniumIDE录制,走一次业务流程,然后回放,看看那里容易出现问题。
以下介绍SeleniumIDE使用,主要使用这个分析页面元素的原型,如果复制的,还是比较依赖于框架。
一、seleniumIDE的安装
1.在火狐浏览器安装seleniumIDE
2.使用该插件录制脚本,插件界面如下图所示为:
3.1.3本框架设计与实现
3.1.3.1设计思路
基于Selenium框架运用python语言以及unittest单元测试框架,搭建的web端UI自动化框架,主要解决在该项目测试过程中,大量重复的步骤,使用自动化来实现,如表单测试。
这里使用了基于页面的PageObject设计模式,该设计模式是将每个测试页面抽象成一个页面对象,把该页面的元素定位、元素操作、业务流程等都封装在该类的方法中,编写用例时,直接以面向对象的思想调用该页面类中方法。
在编写测试用例的时候,使用数据驱动测试模式【3】,编写测试用例的时候,首先在头部导入ddt模块,其次在测试类前声明使用ddt,然后在测试方法前使用@ddt.data()添加该测试方法需要的测试数据,该函数接收一个可迭代的类型,以此来判断需要执行的次数,多组测试数据间以逗号隔开。
运行测试用例后,使用第三方模块HTMLTestRunner,生成html文件的测试报告
一、自动化测试框架的目录:
目录分层如下:
1.bese:
放base.py和find_element.py文件,其中base.py放一些公用的类,对查找元素、点击元素、输入元素、获取文本信息、截图……方法封装;
find_element.py使用配置文件
2.bussiness:
调用Base_Page.py文件来编写页面的操作层,将需要测试的页面,单独封装页面的操作
3.case:
调用操作层的对应测试页面操作文件,来编写测试用例
4.util:
放csv_util.py文件,封装读取csv文件的数据
5.Image:
放一些每个测试功能模块的截图图片的文件
6.page:
将需要测试的页面单独封装一个页面类Base_page.py,里面包含测试页面内元素的定位
7.report:
放测试报告文件
8.venv:
放虚拟环境和第三方模块包的文件
9.config:
所有项目相关的配置文件放在config文件夹里面,用python支持较好的配置文件格式ini进行配置。
实现配置与代码的分离
二、整个代码执行过程
首先,在base文件,编写base.py放一些共用的类,编写find_element.py使用配置文件,目的为了修改元素的名字可以在配置文件上修改。
页面操作层handle文件,编写测试页面操作的代码
业务逻辑层bussiness文件,执行测试页面的操作的逻辑顺序
编写每个页面的执行用例的代码文件,使用csv模块,导入测试用例需要的数据文件,通过unittest框架,找到匹配的测试用例(以test_开头的类),由HTMLTestRunnerCN,生成HTML测试报告,并将每次错误进行截图,截图文件放在Image文件下
3.2使用测试作业管理系统的工具
测试辅助工具
说明
SeleniumIDE
SeleniumIDE(集成开发环境)是SeleniumSuite下的开源Web自动化测试工具,是一款非常优秀的自动化工具【2】。
与SeleniumWebDriver和RC不同,它不需要任何编程逻辑来编写其测试脚本,而只需记录与浏览器的交互以创建测试用例。
之后,可以使用播放选项重新运行测试用例。
XenuLinkSleuth
1.从待测网站的根目录开始搜索所有的网页文件,对所有网页文件中的超链接、图片文件、包含文件、css文件、页面的内部链接进行读取。
2.如果是网站内文件不存在,指定文件链接不存在或者指定页面不存在,则将该链接和文件的具体位置记录下来,一直到网站所以页面中的所有链接都测试后才结束测试,并输出测试报告。
Jmeter【4】
Apachejmeter可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java对象,数据库和查询,FTP服务器等等)的性能进行测试。
它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。
你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。
3.3使用的测试方法
3.3.1白盒测试
白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的。
"
白盒"
法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。
【5】
以下举例,使用了白盒测试的测试用例名称为教师管理功能测试:
用例编号
PROJECT1-ST-01
测试方法
白盒测试
用例名称
管理员新增教师信息、查看教师信息、修改教师信息、删除教师信息
模块名称
教师管理
重要级别
用例概述
测试在管理员新增教师信息、查看教师信息、修改教师信息、删除教师信息功能,是否达到功能需求
测试环境
在CPU为酷睿i76700HQ的笔记本上的windows10系统测试,网络为百兆以太网
测试目标
1.确保完成测试教师管理的功能
2.发现缺陷
3.为软件的质量评估提供依据
4.确保软件的功能符合用户的需求
用户需求
1.获取教师信息
2.查看用身份表信息
前置条件
1.https:
//jicode.xyz/19691201/admin,连接这个网址
2.使用超级管理员权限的账号(账号为:
用户名:
yexin密码:
yexin123)登录该后台系统
后置条件
无
特殊说明
无
用例的测试过程
基本执行过程步骤
场景/条件
教师信息
预期结果
新增教师,填写正确的教师信息,显示添加成功的提示信息
Y
添加该教师成功
新增教师,填写错误的教师信息,显示输入错误的提示信息
N
添加该教师失败
修改教师信息,填写正确的教师信息。
显示修改成功的提示信息
修改该教师成功
修改教师信息,填写错误的教师信息,显示输入错误的提示信息
修改该教师信息失败
删除该教师信息,显示删除成功的提示信息
空
删除该教师信息成功
3.3.2黑盒测试
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
【6】
第4章:
作业管理系统的测试方案实施
本章的主要作用是介绍该系统使用的该web应用系统测试的说明分析及实施
4.1功能测试
4.1.1表单测试
测试范围:
测试用户端登录
测试方法:
首先使用seleniumIDE确定用户端页面登录测试的页面元素原型,使用已经搭建好的自动化测试框架,写关于登录测试的页面层Base_page.py中的类LoginPage,操作层为login_handle.py,执行操作逻辑层为login_business.py,最后编写测试用例为login_ddt_case.py,进行表单测试,然后使用html页面输出测试报告。
以下为测试脚本如下:
页面层Base_page.py中的类LoginPage:
classLoginPage(object):
def__init__(self,driver):
self.fd=FindElement(driver)
#获取用户名元素
defget_username_element(self):
returnself.fd.get_element('
username'
)
#获取密码
defget_password_element(self):
password'
#获取错误信息
defget_code_text_error_element(self):
code_text_error'
#点击按钮事件
defget_button_element(self):
login_button'
操作层为login_handle.py:
#coding=utf-8
frompage.Base_pageimportLoginPage
classLoginHandle(object):
def__init__(self,driver):
self.login_p=LoginPage(driver)
#输入用户名
defsend_username(self,username):
self.login_p.get_username_element().send_keys(username)
#输入密码
defsend_password(self,password):
self.login_p.get_password_element().send_key
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 作业 管理 系统 测试 方案 设计 毕业论文