一、
二、
三、
四、软件测试部分
1、软件测试计划
(1) 引言
本部分介绍测试基本情况和要求,包括编写目的、项目背景和术语等。
1.1编写目的
为网页测试建立计划,供网页测试人员作为网页测试实施时的参考。
1.2专案背景
介绍项目的背景和范围等。
本项目由华中农业大学软件工程学习小组提出,由华中农业大学信息学院2017级计算机科学与技术专业学生完成。
本项目应用范围为对果蔬饮食感兴趣的师生。
1.3术语定义
包括软件和测试方面的基本术语。
白盒测试:白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。
1.4参考数据
相关参考文献资料。
[1]窦万峰.软件工程方法与实践[M].北京:机械工业出版社,2018
(2) 任务概述
本部分描述测试的目标、测试环境、软件的基本需求,以及测试的条件与限制等。
2.1目标
给出本次测试的主要目标、覆盖范围和验收标准等。
本次测试主要目标是对各个子系统的各个子模块进行测试,确保其实现相应功能,且出错率在10%以下。
本次单元测试覆盖整个系统的各个子模块。
2.2测试环境
包括硬件环境、软件环境等。
硬件环境:
对计算机配置要求不高,只要可以正常运行当前主流的浏览器,即可正常运行该网站。
软件环境:
该软件适用于目前主流的操作系统,所以支持Windows10、Windows7、Windows XP三种系统。目前无法提供MAC OS环境进行测试。
2.3需求概述
简要描述系统的需求,尤其是数据需求和事物需求等。
2.3.1数据需求
包括系统涉及的内部数据和外部数据要求,如外部存储格式、访问格式,以及内部数据结构和类型等。
2.3.2事物需求
包括完成测试需要哪些事物需求,如每组测试的过程和处理要求、需要准备哪些工作等。
2.4条件与限制
测试过程需要具备的条件,如各硬设备、软件系统保证、人员齐备、各方面互相配合、内部协调等。限制包括资金限制、时间限制、环境限制等。
2.4.1测试条件
测试需要负责人与各个子系统负责成员在场,在软件系统整体实现程度较高时,方可开始测试。在测试过程中,还要做到小组内各成员间相互配合,及时沟通交流以解决出现的问题。
2.4.2测试限制
主要限制是时间限制,前期开发花去过多时间,以至于后期测试所剩时间不够多,不过还是能够如期完成测试。
(3) 计划
本部分描述测试方案、测试的项目、测试前的准备工作和人员配备等。
3.1测试方案
测试方案包括测试策略、测试过程、测试内容、要采用的测试技术,以及技术标准等。
3.1.1用户登录注册
3.1.1.1 测试策略:分为不同身份进行测试,分为用户,管理员,游客分别进行测试,测试时分别对注册,登录,进行分组多组测试。
3.1.1.2 测试过程:测试用例设计,测试用例编写,测试,测试结果分析,误差改进;
3.1.1.3 测试内容:用户(注册,登录),管理员(登录),游客(搜索,下载,评论)。
3.1.1.4 测试技术:白盒测试
3.1.2用户使用
测试计划:使用多个用户重复地对网页浏览,点击,搜索,评论等功能进行分组多组测试;
测试过程:测试用例设计,测试用例编写,测试,测试结果分析,误差改进;
测试内容:用户修改个人信息,进入推荐版块,搜索各种美食,食材,浏览某些菜谱,评论,写评论;
测试技术:白盒测试;
3.1.3用户管理
测试方法:黑盒和白盒测试结合
测试过程:选择测试内容,设计测试用例,进行测试
测试内容:管理员(登陆、权限),用户(评论、登陆 异常), 菜谱(增删改查、错误冗余信息),食材(增删改查、错误冗余 信息)
3.2测试项目
包括功能测试、回归测试、接口测试和文文件测试等项目。
3.2.1功能测试:依据需求规格说明书中描述的所有功能,根据项目实际情况和约束,选择全部或部分功能进行测试。
3.2.2回归测试:在测试的过程中对发现系统缺陷,应及时修正,每天对系统进行一次回归测试,在修正的程序中对发现的缺陷进行验证,以确保其得以改正。在系统交付前做一次完整的系统回归测试。
3.2.3接口测试:对接口的正确性、操作性和友好性等进行测试。
3.2.4文档测试:主要包括对需求文档、设计文文件、用户文文件的测试,测试重点在文档内容的正确性、准确性。主要采用走查的方式进行。
3.3测试准备
在测试前,要做到:
(1) 与各模块的主要负责人共同协商讨论;
(2) 阅读软件规格说明书、概要设计说明书、详细设计说明书,并以此作为总的提纲;
(3) 选择合适的输入数据;
(4) 编写测试用例等。
3.4测试机构及人员
测试机构的组建和人员组成、每个人员的职责和任务等。
测试机构由计科1703与计科1704果蔬食客项目组的部分开发人员组成,负责开发各子系统的人员同时负责测试该部分主要功能。
人员组成为:王愿,周凌,李思作,张赵玥,廖子逸
其中,王愿责登录注册子系统的测试,周凌、李思作负责数据库信息管理的测试,廖子逸负责用户使用子系统的测试。张赵玥负责最后审查各组测试用例、统一意见与建议后,整合到文档中。
(4) 测试项目说明
4.1测试项目名称及测试内容
对每个测试用例,包括用例编号、输入数据、预期的输出结果等。
每个测试用例会测试子系统中不同模块的不同功能,会有正确的输入与错误的输入。
4.2测试用例
编写测试用例的输入数据格式、顺序和输出方式等。
测试用例范本
测试用例编号 |
|
测试项目 |
|
测试内容 |
|
预设条件 |
|
输入 |
|
操作步骤 |
|
预期输出 |
|
4.2.1登录注册
4.2.1.1 用户账号测试
测试1
测试用例编号 |
User_regester_001 |
测试项目 |
用户账号测试 |
测试内容 |
用户注册测试 |
预设条件 |
无 |
输入 |
点击注册按钮 |
操作步骤 |
点击 |
预期输出 |
弹出注册界面 |
测试2
测试用例编号 |
User_regester_002 |
测试项目 |
用户账号测试 |
测试内容 |
用户注册成功 |
预设条件 |
无 |
输入 |
输入账号和密码 |
操作步骤 |
在账号输入框输入账号和密码 |
预期输出 |
账号输入框提示“注册成功”, |
测试3
测试用例编号 |
User_regester_003 |
测试项目 |
用户账号测试 |
测试内容 |
用户注册失败 |
预设条件 |
用户名已经存在 |
输入 |
输入已有的用户名 |
操作步骤 |
输入 |
预期输出 |
无法正确注册,注册失败 |
测试4
测试用例编号 |
User_regester_004 |
测试项目 |
用户账号测试 |
测试内容 |
注册成功,数据库出现信息。 |
预设条件 |
正确连接数据库 |
输入 |
输入要注册的账号密码 |
操作步骤 |
在注测页面输入正确合理信息,并查看数据库 |
预期输出 |
数据库中出现信息。 |
、
测试5
测试用例编号 |
User_regester_005 |
测试项目 |
用户账号测试 |
测试内容 |
用户账户测试 |
预设条件 |
密码为小于等于45字节字符串 |
输入 |
超过45位字符串 |
操作步骤 |
输入未按照要求的密码 |
预期输出 |
密码设置失败 |
测试6
测试用例编号 |
User_regester_006 |
测试项目 |
用户账号测试 |
测试内容 |
用户登录测试,测试账户 |
预设条件 |
账户位数限制 |
输入 |
账户输入超出限制 |
操作步骤 |
输入一个很长的字符串 |
预期输出 |
注册失败 |
4.2.1.2 用户游客使用测试
测试7
测试用例编号 |
Visitor_001 |
测试项目 |
游客功能测试 |
测试内容 |
游客点击登陆按钮 |
预设条件 |
跳转登陆界面 |
输入 |
点击 |
操作步骤 |
点击 |
预期输出 |
跳转界面 |
测试8
测试用例编号 |
Visitor_002 |
测试项目 |
游客功能测试 |
测试内容 |
游客点击有图片显示的图片 |
预设条件 |
一个具有图片显示的图片 |
输入 |
点击银耳冰糖雪梨 |
操作步骤 |
点击 |
预期输出 |
出现大图 |
测试9
测试用例编号 |
Visitor_003 |
测试项目 |
游客功能测试 |
测试内容 |
游客点击登陆 |
预设条件 |
无 |
输入 |
点击登陆按钮 |
操作步骤 |
进行跳转 |
预期输出 |
出现登陆界面 |
测试10
测试用例编号 |
Visitor_004 |
测试项目 |
游客功能测试 |
测试内容 |
游客浏览网页,点击链接 |
预设条件 |
相关链接存在 |
输入 |
点击可以点开的链接 |
操作步骤 |
点击 |
预期输出 |
跳转到相关链接 |
测试11
测试用例编号 |
Visitor_005 |
测试项目 |
游客功能测试 |
测试内容 |
能否登陆成功 |
预设条件 |
密码账号正确 |
输入 |
游客输入正确的账号密码 |
操作步骤 |
输入账号密码 |
预期输出 |
出现登陆成功界面 |
测试12
测试用例编号 |
Visitor_006 |
测试项目 |
游客功能测试 |
测试内容 |
能否登陆成功 |
预设条件 |
密码账号不正确 |
输入 |
输入错误账号密码 |
操作步骤 |
输入账号密码 |
预期输出 |
出现登陆不成功 |
测试13
测试用例编号 |
User_001 |
测试项目 |
用户进讨论区功能 |
测试内容 |
用户进讨论区功能 |
预设条件 |
无 |
输入 |
点击讨论区 |
操作步骤 |
点击 |
预期输出 |
进入讨论区
|
测试14
测试用例编号 |
User 002 |
测试项目 |
用户发消息功能 |
测试内容 |
用户发消息功能 |
预设条件 |
无 |
输入 |
字符消息 |
操作步骤 |
点击输入 |
预期输出 |
输入的消息
|
测试15
测试用例编号 |
User_003 |
测试项目 |
用户收到消息功能 |
测试内容 |
用户收到别人的消息功能 |
预设条件 |
无 |
输入 |
无 |
操作步骤 |
无 |
预期输出 |
收到消息 |
测试16
测试用例编号 |
User_004 |
测试项目 |
用户退出功能 |
测试内容 |
用户退出功能 |
预设条件 |
无 |
输入 |
点击退出 |
操作步骤 |
点击退出 |
预期输出 |
无输出
|
测试17
测试用例编号 |
User_005 |
测试项目 |
用户浏览功能 |
测试内容 |
用户浏览网页 |
预设条件 |
点击链接 |
输入 |
查看网页内容 |
操作步骤 |
点击健康专栏 |
预期输出 |
跳转健康频道 |
测试18
测试用例编号 |
User_006 |
测试项目 |
用户浏览功能 |
测试内容 |
用户点击热门话题 |
预设条件 |
无 |
输入 |
点击话题 |
操作步骤 |
点击 |
预期输出 |
可以跳转用户界面 |
测试19
测试用例编号 |
User_007 |
测试项目 |
用户浏览功能 |
测试内容 |
用户浏览快捷标栏 |
预设条件 |
点击标栏 |
输入 |
点击所需要内容 |
操作步骤 |
点击所需要内容 |
预期输出 |
跳转所对应频道 |
测试20
测试用例编号 |
User_007 |
测试项目 |
用户搜索功能 |
测试内容 |
用户输入内容,点击搜索 |
预设条件 |
能搜到的内容 |
输入 |
输入搜索内容 |
操作步骤 |
输入搜索步骤 |
预期输出 |
跳转所搜到的内容 |
4.2.2用户管理
测试21
测试用例编号 |
|
测试项目 |
管理员删除用户 |
测试内容 |
管理员增删改查 |
预设条件 |
账号123456存在 |
输入 |
123456 |
操作步骤 |
输入账号,删除其信息 |
预期输出 |
用户被删除,无法登录 |
测试22
测试用例编号 |
Admin_002 |
测试项目 |
管理员删除用户 |
测试内容 |
管理员增删改查 |
预设条件 |
账号123456不存在 |
输入 |
123456 |
操作步骤 |
输入账号,删除其信息 |
预期输出 |
用户不存在,无法删除 |
4.3进度
制定每个测试项目的进度安排和人员安排。
4.3.1模拟用户注册账号并使用新帐号进行登记,开始浏览各个网页,最后进入讨论室的操作。
4.4条件
针对每个测试项目,确定需要的硬件条件、软件条件和人员条件等。
硬件条件:有可以正常工作的键盘与鼠标,可以进行标准输入输出,因为本系统对硬件要求不高。
软件条件:要求整体软件系统可以工作,即基本完成子系统的基本功能。
人员条件:要求所有参与需求分析、开发设计的组员都加入,分别对各小组负责的子系统进行测试。
4.5测试资料
测试需要参考的相关数据、文文件及规范等。
[1]窦万峰.软件工程方法与实践[M].北京:机械工业出版社,2018.
(5) 评价
给出测试评价准则和结束标准。
5.1准则
包括质量准则,如错误率、效率、可靠性等,以及覆盖准则,如用例的覆盖度等。
5.1.1注册登录子系统
用户注册用户名重复概率控制在0.1%。;
用户登录接口出错概率 0.1% ,出错后要及时处理,包括数据库技术和接口的提示;管理员基本信息的检测出错率 0.1%。
5.1.2用户使用子系统
用户昵称重复时通过率低于0.1%,使用时版块崩溃率低于0.01%,出错后要及时处理,包括数据库技术和接口的提示。
5.1.3用户管理子系统
5.2结束标准
以错误率为基准。
三个子系统的单元测试均以错误率为基准。
目标为测试错误率均低于5%。
(6) 测试结果
6.1模拟一次游客注册登陆浏览页面并进入讨论区的功能
覆盖的测试用例为1,2,3,7,11,13,14,15,16,17,18
- 点击本地网页
- 进入网页
- 点击登陆按钮
- 如果还没有账号请点击注册按钮
- 用注册的账号密码进行登陆,登陆成功。
- 登录成功并进行跳转(未实现)
- 进行浏览状态栏
- 点击食材按钮跳转有关食材的界面
- 点击一些未完成的网页
- 点击已完成的文字链接,如看推荐
- 点击看推荐,跳转另一个界面
- 点击下面粥的图片,会进行大图的展示
- 点击主页菠萝浏览即可进入页面
- 进入讨论区,进行收发消息操作
6.2模拟注册登陆失败测试
覆盖的测试样例为3,,5,6,12
用户名超过二十位或者密码超过四十位,虽然显示登陆成功。但是输 入的账号密码并未存储至数据库,报出异常,所以并未注册成功。
账号密码未能与数据库匹配成功
6.3模拟管理员后台管理过程
覆盖的测试样例为16,21,22
管理员通过后台cmd或者mysql的workbench进行增删用户,更改 密码。
通过workbench直接进行用户的删除或更改
通过cmd语句进行修改
2、集成测试
软件集成测试文文件制定集成测试的过程与策略、测试需求、测试工具等,具体如下。
(1) 简介
1.1目的
描述集成测试计划的编写目的及本次集成测试的主要目的。
编写目的:
本文档用于描述果蔬食客集成测试所要遵循的规范以及确定测试方法、测试环境、测试用例的编写和测试整体进度的计划安排、人力资源安排等。
1.2背景
描述项目或产品的背景。
项目名称: 果蔬食客网站
项目提出者: 小组成员
开发单位: 华中农业大学信息学院。
用户: 对果蔬感兴趣老师和同学。
项目实施单位:华中农业大学。
与其他系统关系:本系统独立运行。
1.3范围
描述集成测试在项目的整体范围。
集成测试范围覆盖登录注册子系统、用户使用子系统、用户管理子系统。
并会联动地测试各个子系统中的各个子功能。
1.4参考文档
[1]窦万峰.软件工程方法与实践[M].北京:机械工业出版社,2018.
(2) 测试约束
描述本次集成测试所要遵循的准则及条件约束等。
2.1测试进出条件
2.1.1进入条件
基本软件已经完成,而且在之前的单元测试中,各部分子系统都通过了,且无致命性问题,在各部分连接完成之后,可以进入系统的集成测试。
2.1.2退出条件
致命和严重级别的缺陷清除率达到100%,致命和严重级别的缺陷修复率达到100%,一般缺陷的修复率达到80%且遗留缺陷数小于2个。而且,每次系统测试发现的缺陷数量呈现收敛趋势。
2.2测试通过和失败准则
2.2.1通过准则
各子系统间可以完成基本的信息交互,而且在某些功能的互动上可以达到良好的水平。
2.2.2失败准则
各子系统间无法完成基本信息交互,或是子系统间完成信息交互的测试过程中,错误率超过20%,均会视为失败。
2.3测试启动/结束/暂停/再启动准则
2.3.1测试启动准则
每次测试员在测试环境通过的条件下,收到测试模块列表且检验过测试样例的合理性后,可以开始测试。
2.3.2测试结束准则
测试案例全部执行完毕,而且大部分输出符合输入,整体出错率在预期范围之内,测试结果证明系统符合需求,遗留的问题在质量标准允许范围之内,即可结束测试。
2.3.3测试暂停/再启动准则
当被测模块出现致命性错误,如插入数据不成功反而导致整个系统崩溃,让测试案例无法继续执行。此时,测试工作需要被暂停,将整个系统分为几个非关联模块,在各个非关联模块中完成相关测试排错,当各自的模块调试成功后,方能再启动测试。
(3) 测试需求
该测试需求影视信息管理系统已大体完成,其各部分子系统已经可以完成需求设计时的相应功能,且在预先的单元测试中已可以实现初步联动。
(4) 测试风险
此处描述测试任务可能遇到的风险,以及规避的方法。
1.人力资源不足:解决方案:保证稳定的人员安排。
2.测试时间不足:解决方案:动员测试人员完成测试任务。
3.硬件资源不足:解决方案:事先分析测试所需硬件资源,及时申请,保证测试工作顺利进行。
4.质量需求或产品的特性理解不准确,造成测试范围分析的误差,结果某些地方始终测试不到或验证的标准不对;解决方案:小组讨论尽力统一标准。
(5) 集成策略
准备以核心系统先行的集成测试策略。
(6) 集成计划
1、 对核心系统中的每个模块进行单独、充分的测试,必要时使用驱动模块和桩模块。
2、 对于核心系统中的所有子系统,将其一次性集合到被测系统中,解决集成中出现的各种问题。
3、 按照各外围软件部件的重要程度以及模块间的相互制约关系,拟定外围软件部件集成到核心系统中的顺序方案。经评审过后,即可进行外围软件的集成。
4、 在外围软件部件添加到核心系统以前,外围软件部件的模块级集成测试。
5、 按顺序不断加入外围软件部件,排除外围软件部件集成中出现的问题,形成最终的系统。
(7) 集成策略
准备以核心系统先行的集成测试策略。
(8) 集成计划
1、 对核心系统中的每个模块进行单独、充分的测试,必要时使用驱动模块和桩模块。
2、 对于核心系统中的所有子系统,将其一次性集合到被测系统中,解决集成中出现的各种问题。
3、 按照各外围软件部件的重要程度以及模块间的相互制约关系,拟定外围软件部件集成到核心系统中的顺序方案。经评审过后,即可进行外围软件的集成。
4、 在外围软件部件添加到核心系统以前,外围软件部件的模块级集成测试。
5、 按顺序不断加入外围软件部件,排除外围软件部件集成中出现的问题,形成最终的系统。
(9) 测试策略
测试策略提供了对以上测试对象实施测试的方法。对每一个工作版本将进行以下3种类型的测试:
1、 接口测试:即测试接口调用。
2、 功能测试:即测试工作版本应该实现的功能。
3、 回归测试:即在新版本中执行以前的测试用例。
9.1策略描述
此处描述了根据项目的具体特征所确定的集成测试策略。
顺序一般是深度优先,自下而上,自上而下等。深度优先即 为关键(主控路径上的)业务流程涉及的模块先集成在一起,然 后再集成辅助业务模块。自下而上:即已实现的较低层的功能优 先集成,然后逐层上升,形成整个系统;自上而下:即事先存在一 个稳定的架构,不断地向下细化,最后实现所有具体的功能细节。
9.2测试类型
此处描述集成测试的类型,一般有以下4种:功能测试、接口 测试、容错测试和回归测试。
1、 功能测试:
2、 登陆功能:预期结果:当出现登陆成功后,即可以用户身份浏览网页。
3、 用户使用功能:预期结果:当点击想要的网页后可以进行跳转到想要打开的网页上。
4、 用户聊天功能:预期结果:当点击聊天按钮后即可进行私聊,群聊,发档等操作。
5、 接口测试:键盘和鼠标点击是否有效果
6、 容错测试:暂无
7、 回归测试:暂无