有关“测试用例”那些事儿
版权声明:本文为博主原创文章,未经博主允许不得转载。
测试用例的定义:为某个特殊目标而设计的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
测试用例基本要素:
- 测试项目
- 用例编号
- 用例标题
- 重要级别
- 用例目的
- 预置条件
- 测试输入
- 操作步骤
- 预期结果
工作中的设计用例:
Test name (Number + Name) -> Purpose - > Test case dependencies -> Preparation -> Action -> Result -> Comments
设计测试用例的原则:
不同的测试有不同的原则,比如
单元测试,遵循的原则是:独立的测试策略,自顶向下原则,覆盖率原则。
设计测试用例的方法:
①有需求分析文档的情况:
测试人员根据产品的需求文档,整理出各个模块的需求点,根据需求点,以及功能设计测试用例,测试用例的多少与需求点,功能及测试深度广度有关,一个测试用例只能有一个结果,一个需求点可以设计多个测试用例。
②没有任何文档的情况
在没有任何文档的情况下,测试人员怎么设计出有质量的测试用例呢?如何能够尽可能全面的涉及测试的多个方面?
考虑的方向:界面测试,功能测试,安全测试,压力测试,负载测试,性能测试,兼容性测试,边界值测试,容错测试,并行测试,串行测试,交叉测试,极限值测试等,以及四个基本的原则:能使用,能撤销,能报错,能修改。(此处可以自己扩展)
实战测试用例的设计(登陆界面测试用例设计)
界面测试:
①组件相对大小和位置是否有序、协调、整齐。
②每组组件的字体、风格是否保持一致。
③界面是不是美观大方。
功能测试:
①输入正确的邮箱地址和密码,登陆—> 看是否能够成功登陆,同时登陆成功后的窗体是此邮箱
②如果输入的邮箱地址和密码不正确,则单击“sign in”按钮后应有友好而足够的信息提示用户
③邮箱地址中包含中文时(也为有效邮箱地址),是否也可以登陆
④单击“forgot your passwords?”进行超链接测试,按照提示一步步操作。如果是已存在的注册用户,则找回密码的功能应该实现,如果是非注册用户,则不可以得到密码。
⑤对邮箱地址和密码域进行超长字符串测试。
⑥输入空的邮箱地址和密码,“sign in”按钮后看行为。
⑦最大化最小化窗口是否可用
⑧对话框右上角的“关闭”按钮是否可用
⑨sign in 旁设置“Cancel”按钮
⑩按下Tab键,焦点移动的顺序从上到下,从左到右,shift + Tab 键,则相反
安全测试:
①单击“sign in”后观察URL,密码不应以明文形式出现在URL中。
②输入密码时,密码显示不能是明文,应该是星号或者是其他符号代替
③是否存在同一用户可以在多台机器或设备上同时登陆。
④使用安全工具,对源代码进行安全测试。
⑤登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取)
⑥用户名和密码是否通过加密的方式,发送给Web服务器
⑦用户名和密码的验证,应该是用服务器端验证, 而不能单单是在客户端用javascript验证
⑧对邮箱地址和密码进行SQL注入测试(可以用工具Pangolin穿山甲,以后单独谈Sql 注入问题)。
⑨错误登陆的次数限制(防止暴力破解)
⑩考虑是否支持多用户在同一机器上登录;
兼容性测试:
①不同浏览器进行测试,找到是否存在兼容性问题,在不同浏览器上测试功能和界面。
②在IE浏览器中按下回车键,相当于“sign in”按钮
③不同操作系统上进行测试。
④不同数据库进行测试。
⑤不同分辨率
性能测试:
①对登陆页面使用性能自动化工具如LoadRunner或Jmeter进行性能测试,模拟大量用户同时登陆,找出数据库或者网络瓶颈,找出代码可优化之处。
本地化测试:
①不同的语言,界面显示是不是正常。
其他:
①查看源代码,对SQL查询语句进行测试。
②随着输入的字符增多,邮箱地址和密码的文本框不能随之拉长。
③若窗口可以移动,则移动该窗口时,所以的组件都应该移动,相对位置不变。
博主:海宁
联系:whnsspu@163.com