这是一个测试描述,测试“Create New Widget”用例。
这是另一个测试描述,测试“Create New Widget”用例。
这是另一个测试描述,测试“Create New Widget”用例。
每个示例都测试您可以创建新窗口小部件。在第三个测试中,我正在测试作为一名经验丰富的程序员的功能,认为“好的,所有的地方都可以出现错误”,并检查每一个。第三个是否适合客户验收测试?
“全面”是多么全面?
答案 0 :(得分:10)
用户验收测试用例应该详细而简单,但不如第三个示例详细。 验收测试旨在确保客户获得他们同意的内容。如果你只是简单地说,“点击这个然后点击那个,等等......”更像是一个功能测试。您没有引起用户验证功能是否符合验收测试中列出的测试用例。您只是要求他们点击您可以简单自动化的测试。
用户验收测试应该更像是“创建窗口小部件,验证它是否显示,删除窗口小部件等”。这也将鼓励用户寻找个别功能,并(作为副作用)清除您可能忽略的任何可用性问题。
答案 1 :(得分:1)
我认为您的验收测试应该主要是良好的路径测试。有时,“好”路径将确保正确处理错误。您应该有其他测试来验证您的安全性并处理极端情况,但验收测试更多的是确保构建正确的应用程序,而不是确保正确处理每个可能的条件。如果您有良好的单元测试并使用最佳实践,那么我认为良好的路径测试是完全合适的。
例如,如果我使用了强制参数化查询的技术或者手工生成查询(我没有),我不一定会测试我没有SQL注入问题,单位测试验证注射失败。解决单元测试中的极端情况使得在验收测试中关注它们变得不那么重要。如果您需要向客户提供一些示例,说明您的后端实现解决了他们的问题,那么请务必这样做,但我不会测试我知道通过其他测试已充分解决的问题。
答案 2 :(得分:1)
这看起来更像是我的功能测试计划(即内部测试)
验收测试通常是指您向客户展示的内容。我想你可以给客户这样的测试 - 祝你好运
对于用户验收测试,我更喜欢一种非常简单的格式(当然,这可能不适用于航天飞机软件或银行业务)。适用于中小型网络项目
它的关键是;创建一个列出系统中每个页面的表,而不是为客户端创建一个初始列,另一个列表供自己初始化。你和客户坐了几个小时,然后经历了一切。如果他们对某个页面感到满意,他们就会在其上签名
有关模板的完整详细信息,请参阅:User Acceptance Testing
答案 3 :(得分:0)
在一个完美的世界中,测试描述将为:
在用例中,每个路径都会有一个自动化测试。
任何形式的脚本化手动测试都会容易出错并错过错误,更不用说劳动密集了。
答案 4 :(得分:0)
您的规格是什么?如果它涵盖了您的第三个测试用例中列出的所有内容,那么为什么我作为您的客户不希望看到您的产品符合整个规范?
如果您没有明确的要求( facepalm ),那么将测试分解为模块:资格认证(与客户合作),集成(开发人员测试模块协同工作)和开发(开发人员测试各个模块。)
尽可能自动化DT& E(例如,使用单元测试来测试SQL注入,字符串长度溢出等)。这应该很容易做到,因为你的后端应该与通信它的GUI分开(对吗?)。您在第三个测试用例中概述的大多数GUI内容都可以作为Integration Testing的一部分进行介绍(因为您实际上是在测试后端和GUI之间的集成)。
如果客户可以查看您的单元测试,您的集成测试程序和结果,那么资格测试可以非常简单和轻松。
答案 5 :(得分:0)
他们应该测试正常的用例(不是特殊用例)。但如果他们测试那些异常的,那就太酷了!
验收测试不能太详细。他们测试得越多,他们就越喜欢最终产品。