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