我如何知道测试用例应该是什么以及Selenium中的测试套件是什么? 它有什么一般规则吗?我已经阅读了seleniumhq网站上的其他几个网站,但是 他们只有一些基本的例子,而我想测试整个网站。
我的问题是例如:
说我正在测试一些多步骤的网络表单。我应该制作一个测试套件吗? 步骤(网络形式)是一个测试用例,还是所有步骤都应该是一个测试用例?
说我已经建立了一个网络论坛,我想测试其中的几个功能。我做一个 测试套件和每个测试用例测试每个功能(或每个功能的几个案例)或 我将拥有许多测试套件,每个套件都会测试一个功能和一些测试用例。
如果我有一个包含5个复选框的表单怎么办 - 显然可以点击每个复选框 或不。提交表单时可能会产生一些后果。所以 - 理论上有2 ^ 5 = 32 可能的执行流程。我应该测试全部32吗?或者我应该单独测试每个复选框 简化事情。什么时候可以/我应该简化,什么时候不能? (假设复选框可能是 某种程度上相关)。
每个功能是否都有测试案例,可以测试正面和负面结果? 例如,我应该只关注正确的工作流程 - 即提交有效的表格,看看是否 网站做了我要求的(工作)或提交空表格,并检查是否有错误消息 出现了。
你能否回答一下这些实例(如果需要)? - 也许使用一些(StackOverflow?) 网站作为示例网站。
答案 0 :(得分:6)
回答1和2:
我认为这比测试设计更像是硒。将Selenium视为一种控制浏览器/网站的工具,就像用户一样。它模拟用户点击页面。要了解测试用例是什么以及测试套件是什么,您应该考虑要测试的Web应用程序的功能。假设您有一个网上商店,而不是一个测试用例可以测试以下用例:
这取决于您的应用程序要测试的工作流程或功能。 我会考虑整个项目的测试套件,因此一个Web应用程序的套件。这个应用程序有很多测试用例。每个测试用例都是一个用例。
在构建测试套件时,请考虑一些设计模式,如ui-mapping,页面对象设计,并考虑测试管理系统(如Java中的TestNG)的优势。 这里有一些链接:
回答3和4:
它类似于1和2.总是一个问题你要测试什么。或者您的项目负责人希望您测试(或客户)的问题。应该测试每个重要且应该工作的功能。