我是TDD的新手,想知道我需要哪种软件测试。
目前我的团队在Netbeans平台上创建了一个相对复杂的编辑器,我必须集成外部编辑器并编写自己的东西。 那么我如何才能最好地为GUI,自己的代码,集成代码进行测试呢? 我在哪里创建编码测试,我应该在哪里使用测试用例和测试人员?
我们正在考虑使用scala规范或junit进行编码测试。
感谢您的帮助!
答案 0 :(得分:3)
作为一般规则,您应该考虑为您在班级中编写的每个函数/方法编写一个测试用例。
在我们的TDD过程中,我们只遵循以下规则:每个Java类必须具有相应的JUnit类,该类包含该Java类的每个方法的@Test方法。 然后我们按照“代码覆盖率”进行操作,它将告诉我们实际编写的代码有多少已经过测试。为此,我建议查看一个名为Cobertura(link here)的工具,它为我们提供了一种简单的可视方式来检查已经过测试的代码的百分比。它的工作原理是简单地检测JUnit类为每个Java类测试了多少行代码。这将为您提供有关代码中哪些功能已经过测试的好主意。 我们通常的目标是测试大约80%的代码(说起来容易做起来难以理解)
首先考虑为您的高优先级功能编写测试用例,以便开始使用。
我们通常不会为GUI编写JUnit。不确定是否有办法,但是当应用程序进入通常的测试阶段时,我们会让测试人员对GUI进行测试。
希望这有点帮助。
答案 1 :(得分:2)
这是非常主观的,但我建议干净地分离你的gui并用gui和业务层之间的接口编写可靠的单元测试。不要担心gui测试的自动化。这自然会迫使您在各层之间创建一个清晰的关注点分离。
答案 2 :(得分:1)
GUI用于人工交互,因此自动GUI测试将导致史诗般的失败。如果你想正确测试GUI,你只需要人类。
但是,您可以测试应用对不同用户操作的反应方式。特别是,考虑测试你的应用程序应该如何处理用户错误(例如,当字母写入仅数字输入字段时)。
如果您不清楚单元测试,功能测试和集成测试之间的区别,请不要太费心。尽量测试你认为必要的东西(同样不要忘记最坏的情况)。如果有疑问,请记住测试太多比测试更好。