一种方法应该如何测试带有标签(链接到其他页面)、框架或表单的网页?一般的方法应该是什么?各种测试用例可能是什么?
我被要求参加初级 QA 工程师职位的面试,而无需非常具体。而且,我不能很清楚地理解这个问题。
我能想到的一些测试用例: 1. 使用各种浏览器来显示页面
通过添加/删除某些字段来修改页面的地址
对于需要数字输入的表单,输入边界值、一个合法值和几个无效值。对其他领域应用相同的逻辑。
我无法从面试官那里得到任何好的反馈。还有其他想法/建议吗?
除了通常的功能软件测试(如 SQL 注入、业务用例和诸如此类的东西)对所有软件都适用之外,您还应该使用 Web 软件进行一些测试:
根据应用程序,您可能还想在手机和视频游戏机的嵌入式浏览器上进行测试。
您列出的测试用例都很好。其他一些要考虑的。
确保所有用户输入都经过验证和清理。任何进入数据库的东西都可能是注入攻击。任何显示用户输入数据的东西都可能被用作跨站劫持。
如果站点使用 javaScript,如果禁用 javaScript,它是否仍然起作用/提供替代方案,对于 flash 也是如此
除了标准显示器之外,您是否有适用于其他设备的 CSS?用户能否以可接受的方式在手持设备上查看网站?打印机呢?
可访问性问题。是否有图像等的替代标题?
搜索引擎呢?网站/页面机器人友好吗?
更多的是一个设计问题:网站是否做/展示了公司认为重要的事情或用户认为重要的事情。
这些只是我脑海中的一些。要完成一份完整的工作,还有很多事情要做。
当被问及测试的东西时,总是比你最初的反应推得更远。每当人们问这类问题时,他们都想看看你能谈论多久测试用例。更长的时间几乎总是更好。
一些我没有看到的 Web 应用程序测试: -安全性 - 涉及到这方面的所有方面 - 跨站点脚本,它是否包含安全数据?如果是这样,这些数据是如何处理的?
-负载测试。网站应该能够同时处理大量用户。您需要对此进行测试以确保它可以。通过负载和压力测试,通常可以尝试找到站点/系统的断点,然后验证该断点是否可以接受。
- 网站可以用多种语言浏览吗?如果使用了良好的字符编码,它应该可以正常工作。如果不是,那么它可能会显示为奇怪的字符。
- 尝试发送比它通常接受的值大得多的值。输入字段有限制吗?它会给出错误吗?或者只是炸毁?
- 如上所述,展示一些关于自动化工具的见解。你可以建立什么样的自动化框架?你能自己做工具吗?什么工具会很好用?等等
上面的答案给出了一些很好的例子,说明如何以及如何测试有关 Web 应用程序的内容。
我将快速回复您问题中的其他几点:
当我面试我们 QA 团队的职位时,我有两个主要关注点:面试者的思维方式和他们对底层技术领域的了解。
我采访过一些学生和专业人士,他们测试应用程序的想法是“打开它,看看它是否冒烟”。他们通常对产品技术有深刻的理解(例如 HTTP 的最内部工作原理),但他们无法将这些知识与实际和系统的应用程序联系起来(例如,如何测试通过 HTTP 与服务器通信的数据库应用程序)。
我也被那些根本不了解所使用的底层技术(例如网络工具、简单的 Java 应用程序、数据库客户端)的受访者淹没在测试用例中。尽管他们能够提供大量测试,但他们缺乏理解极大地削弱了他们获得有洞察力和有用的测试用例的能力。
无论哪种情况,我都强烈建议(对于任何类型的面试)你在面试之前首先研究你将工作的领域。不要只是试图整合行话和流行语(如果你弄错了,你会看起来很愚蠢),而是要调查这个职位,以了解它的含义。在面试之前你知道的越多,你就越能理解问题的背景。
此外,请毫不犹豫地要求澄清面试问题。当有人不明白我在问什么并试图伪造它时,我会很生气。如果有人让我改写或澄清我说过的话,我通常认为这是一个希望准确沟通的人的好兆头。
对于奖励点,我还提到使用 WinRunner 或其他自动化 GUI 测试工具,这样您就不必为每个版本手动运行测试。
面试官喜欢跳出框框思考的人:)