有这样一个面试题:在一个Web测试页面上,有一个输入框,一个计数器(count)按钮,用于计算一个文本字符串中字母a出现的个数。
请设计一系列测试用例用以测试这个Web页面。
有经验的测试人员可能会问面试官,字母a区分大小写吗?只统计英文字母的a吗?最长输入字符是多少,最少输入字符是多少?对输入的字符类型是否有限制,是否会自动清除不符合要求的字符?
所以第一步应该是明确需求,然后我们才开始进行思考如何设计测试用例通常说来,我们考虑一个测试对象的时候至少从以下六方面来考虑:
功能性
兼容性
易用性
可靠性
性能
安全性
从功能方面考虑:
输入:”“(思路:什么都不输入)
输入:”null“(思路:特殊值)
输入:”Aa“(思路:输入字符既含大写字符也有小写)
输入:”abc“(思路:以a开头)
输入:”cac“(思路:a在中间)
输入:”aba“(思路:以a开头,以a结尾)
输入:” ba“(思路:以空格开头含a)
输入:”中ba“(思路:以中文或者其他字符开头含a)
输入:”AAaa“(思路:输入字符仅仅只有大写A和小写a)
输入:“全角和半角a”(思路:考虑半角和全角符号)
从兼容性方面考虑:
1.各个浏览器显示是否正确,点击按钮是否有效
2.浏览器各个版本显示是否正确,点击按钮是否有效
3.是否支持手机端和平板端
从易用性方面考虑:
1.web界面外观,风格是否合适
2.文本输入框长度是否合适,是否应该默认提示如何输入
3.输入错误时提示是否友好
4.考虑该应用是否支持其他语言。
从可靠性和性能方面考虑:
1.输入HTML和JavaScrip相关标签字符,计算是否正确,是否会破坏页面
2.这个应用能否在同一台服务器上运行多个实例,多个用户同时使用是否会有问题。
3.在大并发下使用,计算速度是否满足要求
从安全性方面考虑:
1.输入的数据是否会被保存,输入字符串可能包含敏感信息。
2.尝试复制/粘贴字符串。
3.尝试快速点击多次计算按钮
4.考虑是否有安全漏洞,点击计算按钮,请求是否会被截取,导致返回失败