软件测试面试题(一)如何测试网页的登录页面

最近一直在学习软件测试相关的知识,猛然看到这个面试中经常被问到的问题,就转载这样一篇文章以供自己学习~分隔线下边就是原文了~
原文链接:http://www.cnblogs.com/TankXiao/p/3154017.html


这个面试题碰到过很多次, 再次总结下来。

具体需求: 有一个登陆页面, 上面有2个textbox, 一个提交按钮。 请针对这个页面设计30个以上的test case.

此题的考察目的: 面试者是否熟悉各种测试方法,是否有丰富的Web测试经验, 是否了解Web开发,以及设计Test case的能力

这个题目还是相当有难度的, 一般的人很难把这个题目回答好。

功能测试(Function test)

输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。
输入错误的用户名或者密码, 验证登录会失败,并且提示相应的错误信息。
登录成功后能否能否跳转到正确的页面
用户名和密码,如果太短或者太长,应该怎么处理
用户名和密码,中有特殊字符,和其他非英文的情况
记住用户名的功能
登陆失败后,不能记录密码的功能
用户名和密码前后有空格的处理
密码是否以星号显示

界面测试(UI Test)

布局是否合理,2个testbox 和一个按钮是否对齐
testbox和按钮的长度,高度是否复合要求
界面是否好看
图片,颜色,字体,超链接,是否都显示正确

性能测试(performance test)

打开登录页面,需要几秒
输入正确的用户名和密码后,登录成功跳转到新页面,不超过5秒
能支持多少个用户同时登陆

安全性测试(Security test)

登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取)
用户名和密码是否通过加密的方式,发送给Web服务器
用户名和密码的验证,应该是用服务器端验证, 而不能单单是在客户端用javascript验证
用户名和密码的输入框,应该屏蔽SQL 注入攻击
用户名和密码的的输入框,应该禁止输入脚本 (防止XSS攻击)
错误登陆的次数限制(防止暴力破解)

可用性测试(Usability Test)

是否可以全用键盘操作,是否有快捷键
输入用户名,密码后按回车,是否可以登陆

兼容性测试(Compatibility Test)

主流的浏览器下能否显示正常已经功能正常(IE,6,7,8,9, Firefox, Chrome, Safari,等)
不同的平台是否能正常工作,比如Windows, Mac
移动设备上是否正常工作,比如Iphone, Andriod
不同的分辨率
不同的浏览器大小 (浏览器最大化, 和非最大化)

软件辅助性测试 (Accessibility test)

软件辅助功能测试是指测试软件是否向残疾用户提供足够的辅助功能

高对比度下能否显示正常 (视力不好的人使用)

1. 什么是Selenium? Selenium是一个自动化测试工具,用于模拟用户在Web应用程序的行为。它支持多种编程语言,包括Java、Python和C#等,并提供了一组API,用于与浏览器进行交互和执行测试脚本。 2. Selenium的优势是什么? Selenium具有以下优势: - 跨平台支持:可以在不同的操作系统上运行,如Windows、Mac和Linux等。 - 多浏览器支持:可以与多种主流浏览器(如Chrome、Firefox和Safari)进行集成测试。 - 强大的定位机制:可以通过元素ID、类名、CSS选择器和XPath等方式准确定位网页元素。 - 自动化能力:可以模拟用户操作,如点击、输入文本和提交表单等。 - 灵活性:可以与其他测试框架(如TestNG和JUnit)结合使用,实现更加灵活的测试。 3. Selenium常用的浏览器驱动有哪些? Selenium支持多种浏览器驱动,常用的包括: - ChromeDriver:用于与Chrome浏览器进行集成测试。 - GeckoDriver:用于与Firefox浏览器进行集成测试。 - SafariDriver:用于与Safari浏览器进行集成测试。 - EdgeDriver:用于与Microsoft Edge浏览器进行集成测试。 你可以根据自己的需要选择合适的浏览器驱动。 4. Selenium的等待方法有哪些?它们的作用是什么? Selenium提供了多种等待方法,用于在特定条件满足时等待页面元素的出现、消失或可交互。常见的等待方法包括: - Implicit Wait(隐式等待):在查找元素时等待一段固定的时间。 - Explicit Wait(显式等待):在特定条件满足时等待一段时间,直到超时时间达到。 - Fluent Wait(流畅等待):在特定条件满足时等待一段时间,直到超时时间达到,可以定义不同的等待策略。 这些等待方法可以提高测试的稳定性和可靠性,确保在执行下一步操作之前页面已经加载完毕或元素已经可见。 5. Selenium如何处理弹出窗口和多个窗口切换? Selenium提供了switchTo()方法来处理弹出窗口和多个窗口切换。具体步骤如下: - 使用driver.getWindowHandles()获取当前打开的所有窗口句柄。 - 使用driver.switchTo().window()方法切换到目标窗口,传入目标窗口的句柄作为参数。 - 在新窗口执行操作,完成后可以使用driver.close()关闭当前窗口,然后再切换回原始窗口。 通过这种方式,可以在多个窗口之间进行切换,并在各个窗口执行相应的操作。 这些是关于Selenium的一些常见问题,希望能够帮助到你。如果你有其他问题,可以继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值