Automated tests 自动化单元测试与GUI自动化
自动测试是任何类型的测试,其中您使用一段代码/程序来测试另一段代码/程序。这可以是如上所述的单元测试,也可以通过特定的自动化工具,如TestComplete、QTP、Selenium等。单元测试往往由相关代码的开发人员创建和执行,而GUI自动化更可能由软件QA专家执行 关于这一点,我想到了一些问题 1) 使用代码编写自动化单元测试还是使用诸如QTP、Selenium之类的自动化测试工具执行GUI自动化更好 2) 在SDLC生命周期中,使用代码编写自动化测试与使用自动化测试工具编写GUI自动化测试所涉及的工作是什么Automated tests 自动化单元测试与GUI自动化,automated-tests,manual-testing,Automated Tests,Manual Testing,自动测试是任何类型的测试,其中您使用一段代码/程序来测试另一段代码/程序。这可以是如上所述的单元测试,也可以通过特定的自动化工具,如TestComplete、QTP、Selenium等。单元测试往往由相关代码的开发人员创建和执行,而GUI自动化更可能由软件QA专家执行 关于这一点,我想到了一些问题 1) 使用代码编写自动化单元测试还是使用诸如QTP、Selenium之类的自动化测试工具执行GUI自动化更好 2) 在SDLC生命周期中,使用代码编写自动化测试与使用自动化测试工具编写GUI自动化测试
3) 使用代码编写自动化单元测试和使用自动化测试工具执行GUI自动化的好处是什么?单元测试和GUI自动化测试的目的是不同的。单元测试(通常由开发人员实现)应该验证测试中一个函数的不同输入和输出。如果需要,可以在模拟系统的帮助下实施。单元测试通常运行得很快,所有这类测试都不超过1秒。GUI测试模拟用户行为(我们通常称之为端到端测试),可能需要更多的时间来执行
单元测试和通过GUI的自动化测试有不同的用途。此外,高级自动化测试不一定通过UI完成 你见过测试金字塔吗? 当然,这是理想的情况,在现实生活中很少发生。但这是一件需要努力的事情 单元测试更容易编写。但对于遗留代码来说,情况可能并非如此。如果编写代码时没有考虑到可测试性,则需要进行代码重构以添加单元测试。在这种情况下,通过公共API或GUI编写高级测试会更容易。但这不一定是正确的做法 单元测试的执行速度更快,因此开发人员可以更快地获得反馈,并且几乎可以立即发现是否有问题。同样,编写良好的单元测试可以很容易地诊断问题并快速找到错误的代码行。 使用GUI测试和高级测试通常需要更多的时间来诊断问题。测试失败的可能性更高,这只是环境问题或其他依赖性问题 考虑到所有这些,测试金字塔将其总结得非常好。越早发现问题越好。因此,大部分测试工作都应该进行单元测试。但总有一些bug无法在“方法级别”上捕获。因此,您可以向上移动一个级别,这就是集成测试的亮点所在。GUI测试可以涵盖对产品至关重要的E2E案例,例如,确保登录按钮实际存在且可点击:D 总而言之,没有简单的答案来说明什么更好,因为他们实现了完全不同的目标