260 likes | 491 Views
WEB 测试框架及用例设计. Web 测试改进小组 2007 年 8 月. 课程对象和目标. 谁可以从本教程中获得益处? 测试人员 本教程目标 了解 WEB 测试需要关注的内容 掌握 WEB 中各种类型的测试用例设计技巧. 内容纲要. WEB 应用程序的架构和特点 WEB 测试框架 WEB 测试用例设计. WEB 系统体系结构. WEB 应用程序的特点. 受客户端的影响,功能实现略有减弱 直接面向大量用户,对性能及易用性要求更高 服务器的性能及稳定性是难点 更加强调安全性 更改频繁,部署升级方便
E N D
WEB测试框架及用例设计 Web测试改进小组 2007年8月
课程对象和目标 • 谁可以从本教程中获得益处? • 测试人员 • 本教程目标 • 了解WEB测试需要关注的内容 • 掌握WEB中各种类型的测试用例设计技巧
内容纲要 • WEB应用程序的架构和特点 • WEB测试框架 • WEB测试用例设计
WEB应用程序的特点 • 受客户端的影响,功能实现略有减弱 • 直接面向大量用户,对性能及易用性要求更高 • 服务器的性能及稳定性是难点 • 更加强调安全性 • 更改频繁,部署升级方便 • 复杂的环境对计算机/操作系统/浏览器等的兼容性要求高 • 多语言、国际化要求也是必须考虑的
内容纲要 • WEB应用程序的架构和特点 • WEB测试框架 • WEB测试用例设计
WEB测试框架 • WEB应用的测试是非常复杂的 • WEB技术仍在快速发展过程中 • WEB测试框架只是对通用简单的内容进行归类总结 • 测试中还会有业务层面、单项测试深化、框架范围等很多内容
WEB测试框架 • 功能性:链接、表单与数据校验、状态保存(Session 、Cache 、Cookies)、数据库、设计语言 • 性能 • 易用性 • 兼容性:操作系统、浏览器、WEB服务器、网络环境、分辨率、打印机 • 安全性:目录设置、SSL、登录、日志文件、防DOS攻击 • 接口: WEB Service、外部接口 • 注:蓝色的目前未提供详细内容
内容纲要 • WEB应用程序的架构和特点 • WEB测试框架 • WEB测试用例设计
功能性用例设计 • 链接 • 表单与数据校验 • 状态保存 • Session • Cache • Cookies • 数据库 • 设计语言 • 安全性、接口和业务也属于功能性测试
测试用例设计:链接 • 链接的显示 • 链接跳转的结果 • 链接打开的过程,是否会刷新页面 • 链接无法访问的异常情况 • 自动化的链接检测工具 • Xenu Link Sleuth、 HTML Link Validator、 linkbot pro等
测试用例设计:表单与数据校验 • 显示:加载、缺省值、快捷方式、提示信息等 • 单个控件:文本框、下拉列表、文件上传、日期框、检查框、滚动条、网格、ActiveX控件等 • 组合控件:几个下拉框、日期范围等 • 提交等按钮的功能 • 边界值分析、等价类划分等方法可多采用 • 工具:QTP、RoboForm
测试用例设计:Session • 含义是指一类用来在客户端与服务器端之间保持状态的解决方案 • 未登录、登录后的权限、注销后、Session超时、一终端多用户和多终端一用户等 • 可以在IIS中配置Session超时来减少等待时间
测试用例设计:Cache • Cache的作用就是缓存浏览过的页面 • 测试关注:缓存是否起作用;数据修改后是否能及时刷新;缓存失效时间是否正确 • 注意AJAX控件的缓存测试 • 性能测试时要避免受到缓存的影响
测试用例设计:Cookies • Cookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术,一般用于自动登录 • 测试点:Cookies的加密、自动登录、失效时间、多用户的情况、更改密码等
测试用例设计:数据库 • 是否是正确的数据库 • 增加、修改、查询数据,注意会造成字段约束、默认值、重复数据等问题 • 特别需要注意删除数据的关联情况 • 数据的并发访问冲突 • 数据库的压力测试 • 数据库的备份恢复问题 • 最好使用真实数据测试
测试用例设计:性能 • 大部分性能测试都是和WEB相关的。 • 过程:收集性能测试需求->制定测试计划->设计与开发测试用例、脚本->测试执行与监控->分析测试结果->编写测试报告 • 关注:服务器CPU、内存、硬盘、数据库、中间件、WEB服务器、应用程序、网络、客户端处理等 • 工具:LoadRunner、自己开发
测试用例设计:易用性 • 导航---我可以很容易找到在哪 • 帮助和支持---当我需要时我能得到帮助 • 工作流支持---我可以按照自己的方式完成 • 错误处理---错误很难产生,并容易修正 • 一致性---我不需要学习新的技巧 • 反馈信息---我知道系统在做什么 • 功能性---系统能作我期望的工作 • 控制---系统交互在我的控制中 • 视觉清晰---如果有疑问,它就不应该出现 • 语言---我能了解我所读到的
测试用例设计:操作系统 • 测试方法:根据需求中关于所支持的操作系统进行测试;如果没有,可以考虑一下按各种操作系统的市场占有率的多少来选择常用的操作系统进行测试 • 测试内容:看不同平台下web页面版式是否显示正常? 相关控件或者脚本是否能正常的安装执行?网页程序是否能正常使用等? • 常用操作系统:Windows2000、XP、2003、Vista、Linux、Unix等,还应考虑各种不同语言版本的差别
测试用例设计:浏览器 • 测试要点:着重于对脚本、ActiveX控件、JAVA小程序、样式表、HTML、插件以及对页面的媒体文件是否可以直接播放等的兼容性测试 • 浏览器兼容性的测试主要集中于下列浏览器:IE6、IE7、Firefox和Opera • 注意浏览器的按钮(如后退、刷新按钮等)对功能有何影响
测试用例设计:网络环境 • 检查各种网络环境对页面显示、业务逻辑、数据存储、对话视频等的影响 • 网速:56k、128k、1M、10M、100M等 • 网络状态:时快时慢、时断时续、无线等 • 防火墙 • 杀毒软件 • 防木马软件
测试用例设计:分辨率 • 主要检查:显示是否正常? 字体是否太小以至于无法浏览? 或者是太大? 文本和图片是否对齐? 网页表单是否有影响?在窗口模式下拉伸或缩放是否有影响?是否影响图片的质量和像素多少? • 普通屏:640×480、800×600、1024×768、1280×1024、1600×1200等 • 宽屏:1280×720、1440×900、1680×1050等
测试用例设计:打印机 • 文字、表格、图片等是否打印正常 • 没有安装打印机时是否正确 • 专用打印机的效果、文本位置 • 忽略背景的打印是否正常 • 不同操作系统、不同分辨率下打印
测试用例设计:登录 • 正常和异常的用户名密码登录 • SQL注入式攻击(如:mm‘ or ’2‘>’1) • 猜测密码的测试 • 不同权限用户登录 • 黑客的手段很多,我们也可以不断积累 • 验证码技术对测试会有影响,有3种化解方法
回顾 • WEB的技术框架非常复杂 • 测试的重点在于功能、性能、易用性、安全性、兼容性等方面 • 设计完善的用例要掌握很多的相关知识 • 掌握WEB测试框架和用例设计有助于把测试重点放在核心功能的测试上 • 资料: • Starteam:49201\PAL\02过程指导\04研发过程\08测试 • \\192.168.75.5\公司培训资料\测试、质量管理\测试专业知识
结束 谢谢大家!欢迎提问!