我最近正在阅读“不断增长的面向对象软件,以测试为导向”。 这本书的作者总是开始开发一个端到端验收测试功能( 开始TDD周期之前),以便不会松开进度轨道并确保你仍然在单元测试时的同一页面。
好的,所以我开始在python + django中编写一个简单的应用程序,只是为了尝试这种方法。我希望用户能够通过联系表格提出问题,然后问题应该存储在数据库中,完成后的信号应该发送给通知邮件,邮件将发送后续邮件。
问题是 - 在这种情况下,您将如何进行首次端到端测试?你是否已经在第一次测试中包含了所有可能性,或者我可能误解了整个技术。
任何例子都是最受欢迎的。
答案 0 :(得分:1)
您根本不必包含验收测试中的所有可能性 - 您仍然会编写单元测试。所以我会说,单个测试“用户可以填写表格,保存并加载”就足够了。如果您认为系统的某个特定方面足够重要,需要进行验收测试,那么您可以添加更多测试。不要担心在这里处理所有可能性,你仍然会编写大量的单元测试来测试所有内容!
最简单的方法是与代码并行地增加验收测试:所以从测试开始,用户可以输入数据,实现它直到它停止失败,然后在测试中添加用户必须的条件在您开始编写生产代码之前,需要一段时间才能实现验收测试的初始基础架构,但无论如何都无法摆脱它,并且预先进行测试会有各种好处。 / p>
答案 1 :(得分:0)
此用例导致多个测试用例(每个测试都是专用的可能执行路径)。
编写测试时,重点关注一个可能的结果,经过一段时间的测试套件的增长。然后,第一个测试也为您提供安全网作为回归测试,以便不破坏您已成功实施的任何内容。
我的第一次测试将是:
填写其余部分;)取决于更详细的要求...
请记住尽可能简单地实施上述内容。当所有测试都到位后,无情地重构以使“内部质量”变得更好。