- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在编写一些功能测试,我开始想知道这两者之间最好的理念是什么。
我的应用程序有一些安全页面,需要用户组拥有正确的凭据才能访问。这些用户分为 2 组:“合作者组”和“责任组”。凭证被提供给组。
解决方案 1:测试凭据,也就是测试功能。
For each secured page, I test the access with 2 users : one with the right credential, and only this one, and one without the right credential.
优点:仅测试页面针对特定凭据进行保护的事实
缺点:不按照客户端(和用户)的需要测试“最终”应用程序行为。
解决方案 2:测试组,也就是测试需求
For each secured page, I test the access with a user of each group, and check that only the allowed groups gain access to the secured page.
优点:根据客户端(和用户)的需要测试“最终”应用程序行为。
缺点:
谢谢。
最佳答案
我认为第二个 解决方案是好的。只要凭据与组相关联,就会对凭据进行测试。
Pros: Tests the "final" application behavior, as wanted (and user) by the client.
这是最重要的部分。功能测试旨在在所有可能的情况下测试最终应用程序。如果您想测试您的凭据对用户或组具有相同行为这一事实,您最好使用单元测试。
Cons: Tests will have to change if the business rules changes or if more groups are created.
如果应用程序的业务发生变化,您的测试用例将始终需要更新。正如您对单元测试所做的那样。如果你修改了一个函数的代码,你会检查你的单元测试是否仍然能够控制每个案例。功能测试也是如此。
维护您的测试(以及它们需要运行的固定装置)是一项非常乏味的任务,但这是确保您的代码强大的唯一方法。
希望对您有所帮助。
关于testing - 功能测试理念 : test features or requirement?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6442237/
我下载了 IntelliJ Idea 9.0 社区版本,现在我想在其中创建一个 GWT 应用程序,但是在创建项目时我没有获得该 GWT 选项。 我也在谷歌上看到了一些视频,但仍然没有得到解决方案。 我
我在某个文件夹中提取 jboss。 创建新用户。 在想法中,我添加了新的服务器配置: jboss 本地 , 创建 war 用于部署和运行应用程序的工件。一切似乎都很好,但我没有看到错误堆栈跟踪并在服务
我正在尝试为我设置新的格式。因为这个问题。 自动格式化之前。 自动格式化后。 我检查了“创意设置”。但是似乎Dart的设置没有太多。我已经删除了所有合并行的设置。但是以上问题仍然存在。例如。此设置应该
我尝试使用 IDEA 在远程服务器 (VPS) 上部署我的 webapp。 我做了以下事情: export JAVA_OPTS="-Dcom.sun.management.jmxremote= -Dc
我有基于 angular2(typescript)webpack 的项目,在将 IDEA 从 2016.2 更新到 2016.3 之后,我在 typescript 模块中遇到了导入路径的一些问题。为了
RackSpace 云服务器 Ubuntu-12.04、Intellij Idea-11.1.2、Windows-8、Tomcat-7.0.26、JDK-6。 当我尝试在我的远程 Tomcat 7 服
所以我是 Intellij Idea IDE 的新手,到目前为止我非常喜欢它。只是在完全按照我喜欢的 Java 代码样式设置方面遇到了一些麻烦。我喜欢不在一行 if 语句中使用大括号,但我喜欢将它们放
我需要用IntelliJ Idea 10.5(旗舰版)调试远程java代码 当我创建新的调试配置时,主机和端口不会出现在那里。 如何开启远程调试? 最佳答案 确保创建远程类型的配置: 如果没有帮助,请
当 Branch 从 Branch Dialog merge 时,我想在 Intellij Idea 上禁用 Auto-Commit on Merge ,如下所示。 我知道如果我们使用 merge 分
有没有办法覆盖/替换版本控制(如 svn、CVS)的本地更改?在 Eclipse 中,我可以右键单击项目->团队->synchornize.. 然后它会显示与存储库相比的所有更改。然后,如果我需要覆盖
有没有办法在第一个屏幕上添加更多快捷方式提示(当您还没有打开任何文件时)?我正在使用 IntelliJ IDEA 2016.3.3。 显示默认快捷方式的图像: 我想添加更多快捷方式,因为很难记住一些快
通常在重构之后,throws 部分变得不必要了。 IntelliJ 用灰色突出显示它们,表明它们可以被删除,但我想自动删除它们(就像通过 ctrl+alt+ 删除未使用的导入一样哦). 问:有没有办法
我刚刚开始使用java,并创建了一个项目。它的maven项目(我还没有使用过maven) 所以我的项目有两个模块 A 和 B。B 依赖于 A,A 依赖于远程 Maven 仓库中的一些内容。 B 还依赖
我经常编写不同类型的测试。根据测试类型,它可能有不同的设置。 例如,我所有的服务测试在类声明下都有以下注释: @RunWith(SpringRunner.class) @SpringBootTest(
我正在使用 Intellij Idea 2016.1,我最近开始遇到这个问题,每次我启动/重新启动 IDE 时它都会忘记 tomcat 配置,我必须重新配置它。任何想法为什么会这样,我该如何解决?提前
我尝试按照教程 here 进行操作部署 servlet,但只有在指定 JSP 文件时才有效。问题是,如果没有 JSP,我不知道如何在 Tomcat 运行/调试配置中设置 Startup Page。那么
我目前在文件夹树中有一组想法模块(每个模块都有一个 .iml 文件)。 当我打开新/现有项目的Import Module 对话框并指定此文件夹树时,导入对话框会显示来自 Eclipse、Maven 和
我是一名优秀的程序员,十分优秀!