1.1 系统测试的目的
本文档用来指导医院预约挂号项目的测试工作,尽可能的在系统使用前发现并纠正存在的问题,为项目经理、项目开发人员以及测试人员明晰思路,明确测试工作内容及方法,在需求方、开发方、测试方三方协作的基础上尽早的发现问题,修正错误,减低项目风险,减少工程损耗,降低开发成本。
1.2 系统测试的背景
该项目主要为医院网上预约挂号系统,其系统体系包括用户系统以及管理员系统。为了指导软件测试人员有效地进行测试,编写此测试计划,为测试用例的构成进行指导及铺垫,对所测试软件进行全面地测试,以尽可能发现最隐藏问题。
2.1测试要点
测试手段:手工测试,自动测试,模拟实际用户进行相关测试。
2.2测试类容
功能测试、性能测试(包括负载/压力测试)、用户界面测试、兼容性测试、安全测试、接口测试、链接测试、表单测试、Cookies测试、数据库测试
2.3测试环境
处理器:AMD-A6-3420
内存:4Gb
OS:win7 旗舰版(64位)
Browser:IE7.0– IE9.0
2.4测试时间
2013年12月29日——2013年1月5日
有效测试时间:2个工作日
3.1 缺陷与错误分类
所测试的软件如果存在缺陷与错误就会给所实施项目带来失败的风险,重大的软件故障与失效会导致重大的经济损失。我们需要在对软件进行质量把关的时候对软件的缺陷与错误进行分类,以简明扼要的指出其影响,以及修改的优先次序。
严重级
A 严重:系统崩溃、数据损坏丢失、功能没有实现(包括与需求不符)
B 较严重:操作性错误、错误结果、遗漏功能
C 一般 :UI布局、文字、小问题等
D 建议 :不影响使用的瑕疵或更好的实现
优先级
Urgent最高优先级:立即修复,停止进一步的测试
High次高优先级:在发布前必须修复
Medium中等优先级:时间允许应该修复
Low最低优先级:下一发布周期前修复或不修复也能上线使用
3.2 BUG的状态
Bug的状态包括如下:
l 新记录(New):测试中新报告的Bug
l 打开(Open):被确认分配给相关的开发人员处理
l 修正(Fixed):开发人员完成修改,等待测试验证
l 拒绝(Reject):拒绝修改的Bug或不是Bug
l 延期(Deferred):不在当前版本修改的Bug,下一版本修改
l 重新开放(Reopen):进行回归测试后仍然未修复或重现的缺陷
l 关闭(Closed):Bug已修复、
3.3 bug的管理及追踪
Bug的记录信息包括如下:
u 测试软件名称
u 测试版本号
u 测试人
u 测试事件
u 测试软件和硬件配置环境
u Bug严重性及类型
u Bug描述
u Bug的优先级
u 必要的截图
u Bug记录的当前状态
4.1 功能测试
测试项:
两大功能模块测试:
用户模块 管理员模块链接测试 数据库测试
用户模块
用户模块中包括:用户注册 用户登录 找回密码 密码修改 查询挂号单 在线预约 科室查询 专家信息浏览
管理员模块
管理员模块包括:对用户的查询以及删除 对科室的管理 对医生的管理 对预单但的管理
4.2 测试策略
鉴于本测试为基于web的系统测试,所以需额外测试系统在不同用户的浏览器端的显示是否合适以及从最终用户的角度进行安全性和可用性测试。因此性能测试中添加连接速度测试以及安全性测试。
概述:确保测试的功能正常,如导航,数据输入,处理、检索是否正确,以及业务规则的实施是否恰当。即对交互的输出或结果进行分析,以此来核实应用程序及其内部进程,这是目前的测试重点。
目标:利用有效的和无效的数据来执行各个用例流,以核实以下内容:
1.在使用有效数据时得到预期的结果
2.在使用无效数据时显示相应的错误消息或警告消息。
说明:登陆界面需要输入用户、密码和验证码,如果输入不正确的值,会返回错误提示信息。
用户和管理员公用同一登录窗口,只是级别不同
用户登录流程图
功能项 | 功能编号 | 测试点 | 预期结果 |
总体登陆 | 1. | 使用已注册帐号,正确密码,且级别为高级 | 登陆成功,并能进入后台 |
2. | 使用已注册帐号,正确密码,且管理及别为普通 | 登陆成功,不能进入后台 | |
3. | 使用已注册帐号,错误密码,且级别为高级 | 提示错误 | |
4. | 使用已注册帐号,错误密码,且级别为普通 | 提示错误 | |
5. | 使用未注册帐号,错误密码,且级别为高级 | 提示错误 | |
6. | 使用未注册帐号,错误密码,且级别为普通 | 提示错误 | |
7. | 使用已注册帐号,密码为空,且级别为普通 | 提示错误 | |
8. | 使用已注册帐号,密码为空,且级别为高级 | 提示错误 | |
9. | 帐号为空,输入密码,且级别为高级 | 提示错误 | |
10. | 帐号为空,输入密码,且级别为普通 | 提示错误 | |
11. | 使用已注册帐号,输入密码为空,且级别为高级 | 提示错误 | |
12. | 使用已注册帐号,输入密码为空,且级别为普通 | 提示错误 | |
其他 | 13. | 登陆是否支持键盘控制(Enter登陆) | 建议是 |
14. | 用户登录成功是否跳转至相应页面。 | 是 | |
15. | 成功登陆后使用后退,是否后退至登陆页面并且清空填写内容 | 是 | |
16. | 使用全角半角对登录帐号和密码进行测试。 | 只识别半角 |
对应测试方案:
测试记录报告表(问题优先级前面已声明)
测试编号 | 功能编号 | 发现问题 | 测试结果 | 问题优先级 | 测试时间 |
1 | 01 | 无 | 通过 |
| 2012-12-15 |
2 | 02 | 无 | 通过 |
| 2012-12-15 |
3 | 03 | 无 | 通过 |
| 2012-12-15 |
4 | 04 | 无 | 通过 |
| 2012-12-15 |
5 | 05 | 无 | 通过 |
| 2012-12-15 |
6 | 06 | 无 | 通过 |
| 2012-12-15 |
7 | 07 | 无 | 通过 |
| 2012-12-15 |
8 | 08 | 无 | 通过 |
| 2012-12-15 |
9 | 09 | 无 | 通过 |
| 2012-12-15 |
10 | 10 | 无 | 通过 |
| 2012-12-15 |
11 | 11 | 无 | 通过 |
| 2012-12-15 |
12 | 12 | 无 | 通过 |
| 2012-12-15 |
13 | 13 | 无 | 通过 |
| 2012-12-15 |
14 | 14 | 无 | 通过 |
| 2012-12-15 |
15 | 15 | 无 | 通过 |
| 2012-12-15 |
16 | 16 | 无 | 通过 |
| 2012-12-15 |
用户注册流程图:
对应测试方案:
功能项 | 编号 | 测试点 | 预期结果 |
账号 | 1. | 使用已用账号注册 | 提示错误 |
2. | 使用非数字注册 | 提示错误 | |
3. | 使用不足六位账号注册 | 提示错误 | |
4. | 使用特殊符号注册 | 提示错误 | |
5. | 使用数字六位已注册账号注册 | 提示错误 | |
6. | 使用数字六位未注册账号注册 | 可以注册 | |
7. | 输入法半角全角测试 | 错误猜测 | |
密码 | 8. | 密码为5位 | 提示错误 |
9. | 密码为空 | 提示错误 | |
10. | 密码为1位 | 提示错误 | |
11. | 密码为10位 | 通过 | |
12. | 密码为10位以上 | 提示错误 | |
13. | 密码为5-10位内的英文数字组合 | 通过 | |
14. | 密码为5-10位内的纯英文 | 通过 | |
15. | 密码为5-10位内的纯数字 | 通过 | |
16. | 使用特殊字符填写密码 | 通过 | |
确认密码 | 17. | 确认密码为空 | 提示错误 |
18. | 使用全角输入密码再使用半角确认 | 提示错误 | |
19. | 使用半角输入密码再使用全角输入确认 | 提示错误 | |
20. | 确认密码与密码不符合 | 提示错误 | |
21. | 确认密码与密码相符合 | 通过 | |
其他 | 22. | 对于所有必填项进行漏填测试 |
|
测试记录报告表(问题优先级前面已声明):
测试编号 | 功能编号 | 发现问题 | 测试结果 | 问题优先级 | 测试时间 |
1 | 1 | 无 | 通过 |
| 2012-12-15 |
2 | 2 | 不提示错误 | 未通过 | High | 2012-12-15 |
3 | 3 | 不提示错误 | 未通过 | High | 2012-12-15 |
4 | 4 | 不提示错误 | 未通过 | High | 2012-12-15 |
5 | 5 | 无 | 通过 |
| 2012-12-15 |
6 | 6 | 无 | 通过 |
| 2012-12-15 |
7 | 7 | 无 | 通过 |
| 2012-12-15 |
8 | 8 | 无 | 通过 |
| 2012-12-15 |
9 | 9 | 无 | 通过 |
| 2012-12-15 |
10 | 10 | 无 | 通过 |
| 2012-12-15 |
11 | 11 | 无 | 通过 |
| 2012-12-15 |
12 | 12 | 无 | 通过 |
| 2012-12-15 |
13 | 13 | 无 | 通过 |
| 2012-12-15 |
14 | 14 | 无 | 通过 |
| 2012-12-15 |
15 | 15 | 无 | 通过 |
| 2012-12-15 |
16 | 16 | 无 | 通过 |
| 2012-12-15 |
17 | 17 | 无 | 通过 |
| 2012-12-15 |
18 | 18 | 无 | 通过 |
| 2012-12-15 |
19 | 19 | 无 | 通过 |
| 2012-12-15 |
20 | 20 | 无 | 通过 |
| 2012-12-15 |
21 | 21 | 无 | 通过 |
| 2012-12-15 |
22 | 22 | 无 | 通过 |
| 2012-12-15 |
流程图:
对应测试用例:
功能项 | 编号 | 测试点 | 预期结果 |
挂号 | 1 | 无余号 | 提示挂号失败 |
2 | 有余号,但没登陆 | 提示请登录 | |
3 | 有余号,登录失败 | 提示登录失败 | |
4 | 有余号,登陆成功 | 提示挂号成功 |
测试记录报告表(问题优先级前面已声明):
测试编号 | 功能编号 | 发现问题 | 测试结果 | 问题优先级 | 测试时间 |
1 | 1 | 无 | 通过 |
| 2012-12-15 |
2 | 2 | 不提示错误 | 未通过 | urgent | 2012-12-15 |
3 | 3 | 不提示错误 | 未通过 | urgent | 2012-12-15 |
4 | 4 | 不提示错误 | 未通过 | urgent | 2012-12-15 |
说明:对本身帐号密码进行修改操作。四项均为必填项,原密码必须输入与原密码相同,新密码必须与确认密码相同。
测试方案:
测试项 | 编号 | 测试点 | 预期结果 |
原密码 | 1. | 原密码为空时进行修改操作 | 不能修改 |
2. | 原密码输入与原密码不符合 | 不能修改 | |
3. | 原密码输入正确 | 通过 | |
新密码 | 4. | 新密码长度小于6位 | 不能修改 |
5. | 新密码为空 | 不能修改 | |
6. | 新密码长度大于6位 | 无法超过6位 | |
7. | 新密码为6位数字 | 通过 | |
8. | 新密码为数字英文组合 | 通过 | |
9. | 新密码为特殊字符 | 通过 | |
确认新密码 | 10. | 确认新密码与正确的新密码相同 | 通过 |
11. | 确认新密码与新密码输入不符 | 不能修改 | |
12. | 确认新密码为空 | 不能修改 | |
验证码 | 13. | 验证码为空 | 不能修改 |
14. | 验证码输入不正确 | 不能修改 | |
15. | 正确输入原密码,新密码以及确认新密码,验证码进行修改 | 修改成功 |
测试记录报告表(问题优先级前面已声明):
测试编号 | 功能编号 | 发现问题 | 测试结果 | 问题优先级 | 测试时间 |
1 | 1 | 无 | 通过 |
| 2012-12-15 |
2 | 2 | 无 | 通过 |
| 2012-12-15 |
3 | 3 | 无 | 通过 |
| 2012-12-15 |
4 | 4 | 无 | 通过 |
| 2012-12-15 |
5 | 5 | 无 | 通过 |
| 2012-12-15 |
6 | 6 | 无 | 通过 |
| 2012-12-15 |
7 | 7 | 无 | 通过 |
| 2012-12-15 |
8 | 8 | 无 | 通过 |
| 2012-12-15 |
9 | 9 | 无 | 通过 |
| 2012-12-15 |
10 | 10 | 无 | 通过 |
| 2012-12-15 |
11 | 11 | 无 | 通过 |
| 2012-12-15 |
12 | 12 | 无 | 通过 |
| 2012-12-15 |
13 | 13 | 无 | 通过 |
| 2012-12-15 |
14 | 14 | 无 | 通过 |
| 2012-12-15 |
15 | 15 | 无 | 通过 |
| 2012-12-15 |
测试方案:
测试项 | 编号 | 测试点 | 预期结果 |
删除 | 1 | 是否能正确查看用户信息。 | 能 |
2 | 对用户进行修改操作后是否能立即查询到更新内容 | 是 | |
3 | 对用户进行删除操作后是否无法再看见该用户 | 是 |
测试记录报告表(问题优先级前面已声明):
测试编号 | 功能编号 | 发现问题 | 测试结果 | 问题优先级 | 测试时间 |
1 | 1 | 无 | 通过 |
| 2012-12-15 |
2 | 2 | 无 | 通过 |
| 2012-12-15 |
3 | 3 | 无 | 通过 |
| 2012-12-15 |
4.3连接测试
链接是WEB应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。
链接测试必须在集成测试阶段完成,也就是说,在整个应用系统的所有页面开发完成之后进行链接测试。
编号 | 测试点 | 期望结果 | 结果(√ × /) |
1 | 所有链接是否按指示确实链接到该链接的表单 | 通过 | √ |
2 | 所链接的表单是否存在 | 未通过 | × |
3 | 各功能按扭是否按指定功能进行操作 | 未通过 | × |
4.4 表单测试
当用户为应用系统提交信息时,就需要使用表单操作,例如用户注册、登录、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
编号 | 测试点 | 期望结果 | 结果(√ × /) |
1 | 提交信息未按要求提交是否通过 | 不通过 | × |
2 | 提交信息按要求提交是否通过 | 通过 | √ |
3 | 是否可以绕过要求进行提交 | 不通过 | √ |
Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登录等信息。
如果应用系统使用了Cookies,就必须检查Cookies是否能正常工作。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。
编号 | 测试点 | 期望结果 | 结果(√ × /) |
1 | Cookies是否起作用 | 是 | √ |
2 | Cookies是否按预定时间保存 | 是 | √ |
3 | 刷新是否对Cookies有影响 | 否 | √ |
4.6数据库测试
在Web应用技术中,数据库起着重要的作用,数据库为应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。在使用了数据库的B/S应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。查看数据库信息是否保持一致
编号 | 测试点 | 期望结果 | 结果(√ × /) |
1 | 数据库信息是否一致 | 是 | × |
2 | 输出数据是否正确 | 是 | × |
4.7 用户界面测试
概述:用于核实用户与软件之间的交互是否正常
目标:核实下列内容
确保各种浏览以及各种访问方法(鼠标移动、快捷键等)都使用正常
确保窗口对象及其特征(菜单、大小、位置、状态和中心)都符合标准等
检查项 | 测试人员的类别及其评价 |
窗口切换、移动、改变大小时正常吗? | 正常 |
各种界面元素的文字正确吗?(如标题、提示等) | 正常 |
各种界面元素的状态正确吗?(如有效、无效、选中等状态) | 异常 |
各种界面元素支持键盘操作吗? | 正常 |
各种界面元素支持鼠标操作吗? | 正常 |
对话框中的缺省焦点正确吗? | 正常 |
数据项能正确回显吗? | 正常 |
对于常用的功能,用户能否不必阅读手册就能使用? | 是 |
执行有风险的操作时,有“确认”、“放弃”等提示吗? | 是 |
操作顺序合理吗? | 合理 |
按钮排列合理吗? | 不太合理 |
导航帮助明确吗? | 不明确 |
提示信息规范吗? | 不太规范 |
4.8 性能测试
概述:主要是对响应时间、事务处理速率和其他与时间相关的需求进行评测和评估。性能评测的目标是核实性能需求是否都已满足。
目标:核实下列情况下的性能行为:
正常的预期工作量
预期的最繁重工作量
考虑的特殊事项:
可创建“虚拟的”用户负载来模拟许多个(通常为数百个)客户机。
最好使用多台实际客户机(每台客户机都运行测试脚本)在系统上添加负载。
应该在专用的计算机上或在专用的机时内执行,以便实现完全的控制和精确的评测。其所用的数据库应该是实际大小或相同缩放比例的数据库。
多用户不同网络条件下的连接速度是否满足要求、
4.9 负载测试
负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。压力负载测试的区域包括表单、登陆和其他信息传输页面等。在我们的实际工作中使用的就是MI公司的LoadRunner来产生众多负载来进行测试
u 操作系统资源监控指标:
编号 | 监测点 | 描述 | 监测值 |
1. | 平均负载 | 系统正常状态下,最后60秒同步进程的平均个数 |
|
2. | 冲突率 | 在以太网上监测到的每秒冲突数 |
|
3. | 进程/线程交换率 | 进程或线程之间每秒交换次数 |
|
4. | CPU利用率 | CPU占用率(%) |
|
5. | 磁盘交换率 | 磁盘交换速率 |
|
6. | 接收包错误率 | 接收以太网数据包时每秒错误数 |
|
7. | 包输入率 | 每秒输入的以太网数据包数目 |
|
8. | 中断速率 | CPU每秒处理的中断数 |
|
9. | 包输出率 | 每秒输出的以太网数据包数目 |
|
10. | 读入内存页速率 | 物理内存中每秒读入内存页的数目 |
|
11. | 写出内存页速率 | 每秒从物理内存中写到页文件中的内存页数 |
|
12. | 内存页交换速率 | 每秒写入内存页和从物理内存中读出页的个数 |
|
13. | 进程入交换率 | 交换区输入的进程数目 |
|
14. | 进程出交换率 | 交换区输出的进程数目 |
|
15. | 系统CPU利用率 | 系统的CPU占用率(%) |
|
16. | 用户CPU利用率 | 用户模式下的CPU占用率(%) |
|
4.10恢复性测试
概述:确保系统能从各种意外数据损失或完整性破坏的各种软/硬件故障中恢复。
目标:核实系统能够在下列状况下正确恢复到预期的已知状态
客户/服务机断电
网络通信中断
异常关闭某个功能
错误的操作顺序
参考表格如下:
异常输入/动作 | 恢复能力 | 造成的危害、损失 |
客户/服务机断电 | 一般 | 无 |
网络通信中断 | 差 | 数据丢失 |
错误的操作顺序 | 良好 | 无 |
异常关闭某个功能 | 一般 | 无 |
4.11兼容性测试:
浏览器是客户端最核心的构件,来自不同厂商的浏览器对Java,、JavaScript、 ActiveX、 plug-ins或不同的HTML规格有不同的支持。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不一样。
编号 | 浏览器 系统 | IE7.0 | IE8.0 | IE9.0 | Opera | Mozilla | Netscape |
1 | Win2000 | N/A | N/A | N/A | N/A | N/A | N/A |
2 | Win xp | √ | √ | √ | √ | N/A | N/A |
3 | Win 7 | √ | √ | √ | √ | N/A | N/A |
4 | Linux | N/A | N/A | N/A | N/A | N/A | N/A |
5 | Mac | N/A | N/A | N/A | N/A | N/A | N/A |
4.12安全性测试
确保系统Web应用下的安全性
目标:核实下列情况下的性能行为
系统是否有超时的限制
相关的重要信息是否写进日志、是否可追踪
使用了安全套接字时,测试加密是否正确,信息是否完整
相关表格如下:
检查项 | 测试人员的类别及其评价 |
系统有超时限制吗?(如标题、提示等) | 没有 |
相关的重要信息写进了日志吗?能有效跟踪他们吗? | 不能有效跟踪,安全性较差 |
传输信息加密了吗? 传过来的信息完整吗? | 没有加密,信息完整 |