QA工程师负责开发用于单元测试的模拟对象的频率。那么处理模拟对象只是开发人员的工作吗?我之所以问这个问题,是因为我对QA这个职业很感兴趣,并且我正在学习一些工具,比如JUnit、TestNG和一些框架。我只想知道在开发人员完成什么级别的单元测试之前,QA工程师从哪一点接管测试以获得更好的测试覆盖率?
谢谢
编辑:基于下面的答案,我提供了关于QA的更多细节。我对更多的测试自动化感兴趣,而不是简单的QA涉及到脚本的记录和播放。那么,测试自动化工程师负责开发框架吗?或者他们有一支致力于框架开发的开发团队?是的,我是从测试自动化工程师的角度询问如何使用模拟对象进行测试。
发布于 2011-02-13 12:27:05
嘿。
第一个问题:您想使用xUnit框架、模拟框架和编写代码吗?
如果没有,就不用费心了。测试人员90%的工作不包括编写代码,所以如果它不是您要找的东西,您可以跳过这组知识。
另一方面,如果您喜欢编写代码,不知何故您不考虑成为开发人员,就有可能在测试自动化方面工作,这将需要编程技能。特定的编程语言将取决于收费/应用程序堆栈,但您需要编写代码。
至于xUnit框架,您可能不会编写单元测试(正如提到的dev作业),但是您可能会将它们用作测试的运行程序。例如,这里提到的Selenium不需要编码技巧,如果您使用SeleniumIDE,这只是产品之一。如果您使用SeleniumCore --而不是使用环绕浏览器的api。在这种情况下,您编写的代码将对给定的应用程序执行测试。如果将这些代码放入xUnit框架中,就会有运行程序,并使用它进行报告。
至于模拟对象,您将在非常罕见的情况下使用它们。也许你会为你的应用程序构建自动化框架。但取决于方法,您可以跳过它。
根据新的答案编辑并编辑主要问题。我同意c_maker的观点--您可能不会为应用程序代码编写单元测试,但是可以编写单元测试,因为您的自动化框架软件即使是软件测试其他软件也是软件。同样,正如c_maker所说,如果您使用selenium编写gui级测试--这是验收测试,而不是单元测试。
无论如何,请检查以下链接,以便您现在了解测试自动化工程师的工作情况:
发布于 2011-02-13 06:30:19
简短的回答:这取决于组织。
很长的答案:如果没有调查大量的公司,就很难量化QA团队参与编写涉及模拟对象的测试的频率。根据我的经验,大多数中小型软件开发公司倾向于依靠他们的开发人员编写单元、集成和UI测试。这些公司的QA部门通常测试新的特性和增强,以及缺陷是否修复(理想情况下,您的测试正在这样做,但实际上,并不是每个开发人员都编写测试来检查他们刚刚修复的缺陷)。
许多大公司将雇用具有编程经验的QA团队。众所周知,这样的团队会编写UI测试(比如用于浏览器应用程序的Selenium ),因为这样的测试不需要了解代码来检查功能;UI测试通常会检查预期的UI响应和实际的响应。
在某些情况下,QA团队也会为编写单元和集成测试做出贡献,尽管在我的经验中,很少会看到QA完全负责这样的测试。一般来说,对于开发人员来说,编写测试会更容易。也就是说,一个QA团队成员,如果他了解代码和编写单元和集成测试的能力(包括使用模拟对象进行这样的测试),很快就会成为这样一个部门的领导者。
建议:您应该专注于学习良好的UI设计和实践,测试常见和边界案例,并了解用户的一般体验和期望,以此作为QA职业的基础。然而,了解QA的开发方面(即编写带有和不带模拟对象的测试)肯定会对您的职业生涯有所帮助。如果你有时间,学习它。
发布于 2011-02-13 13:33:24
以下是QA不能也不应该编写单元测试的几点:
还有一件事要指出。仅仅因为您在单元测试框架中编写测试,并不意味着它们正在编写单元测试。例如,我们的团队使用Junit框架和Selenium一起编写验收测试。QA编写这些测试是可以的。
https://softwareengineering.stackexchange.com/questions/47331
复制相似问题