今天我将回答一些读者的问题。我每天都会收到大量关于软件测试问题的邮件,事实上我正在考虑办一个“软件测试问与答”的专栏。在这个帖子里,我将整理出来的一些比较普遍的问题进行回答,这样的话,其他有类似问题的读者也可以在这里得到解答。我就不再一一回邮件给你们解答了。如果还有其他问题的话,也可以在这帖子的评论部分提出来。不过在提问题之前,我强烈建议大家使用这个网站的搜索功能,看看之前是否已经有人提出过类似的问题了。
在这个帖子里,我将回答下面这些问题。
Shivika提问说:
“我现在有一个测试任务,就是测试一个基于UI的应用程序。他们期望我做一些操作,任何手段都可以使用,去使这部分功能出错,甚至崩溃。软件的第一个页面是个登录页面,包括以下测试点:用户名、密码、电子邮件、URL地址以及其他一些复选框选项。我已经试过我所能想到的方法去测试,但是好像没有很大效果。对于怎样测试这个页面,你可以给我一些更好的、具有可行性的建议吗?”
要想完整的测试这个登录页面的话,我会用上一些负面测试用例:
1)查看用户名的限制条件。主要是查看该字段在数据库中的数据类型和数据长度。在这个字段里面,尝试输入比该字段最大字符数更多的字符,然后看看系统的反应是什么。
2)对于那些数字型的字段重复使用上面那个用例,插入一些超出字段存储范围的数据。这就是一个典型的边界值测试。
3)对于用户名这个字段,尝试输入数字和特殊字符的各种组合。(特殊字符如:like!@#$%^&*()_+{”:?><,./;’[] )。如果不允许输入的话,系统应该要弹出提示信息。
4)在登录页面的所有可输入部分都试一下上面这个特殊字符组合的用例,尤其是那些有特殊格式要求的字段,比如邮件地址,URL地址等等。
5)有很多系统会崩溃,就是由于在输入框中输入了单引号‘或者是双引号“,例如:”Vijay’s web”。在所有的输入框中一个一个的去试这个例子。
6)在只允许输入字符的输入框中输入数字,或者在只允许输入数字的地方输入字符。
7)如果已经有了URL的有效性标准,那么输入一些不同准则的URL来检测一下系统的反应。例如下面这个URL:vijay.com/?q=vijay’s!@#$%^&*()_+}{”:?><,./;’[]web_page另外,当输入URL的时候,也要测试一下输入http://和https://的情况。
8)如果这个登录页面是由一些步骤组成的,如第一步,第二步等等,那么可以尝试在浏览器的地址栏直接更改参数值。大多数情况下,为了确保正确的用户步骤,URL都是用某些参数来格式化了的。对登录页面不做任何的输入,而尝试直接修改这些参数,看看系统的反应如何。
9)人工或者自动化做一些跳跃式测试(也就是说,随心所欲的输入一些东西,或者在键盘上乱敲一通),你或许会有新发现。
10)看看页面的左下角会不会出现Java脚本错误,或者弹出任何Java脚本错误的提示信息。
这些都是负面测试用例。我假设你已经对这个登录页面做了所有正面测试用例,来检查这个系统是否按照需求正常的工作。
如果上面所有的测试都已做过,系统仍可正常工作,此时不要忘记赞扬下开发人员,他们真的做得非常好。
如果在你的经验中,对于破坏这种系统有一些“杀手锏”的话,不妨把它们帖出来和大家分享分享。
Jayant提问说:
“通常,刚毕业的大学生都会有“我们是新人,我们是毕业生”这样的想法。近来,大学毕业生希望招聘他们的企业,应该要考虑一下他们所具备的知识基础,并由此进一步提供培训的机会。但在实际的情况中,企业又是怎样看待这些大学毕业生的呢?
这真是个好问题。当我还是个毕业生的时候,我也曾有这样的疑问。但是你也需要从雇佣者的角度来考虑考虑。雇佣者通常会这样想:为什么我要雇佣那些基础不好,又没有经验的人呢?而且在他可以做事之前,还要给他提供培训?幸运的是,并不是每个雇佣者都是这样想的,而这正是大学毕业生可以得到工作和培训机会的原由。由于IT行业的急速发展,还需要越来越多具有良好的教育背景以及善于解决问题的大学毕业生。