QA挑战

你好。 我是Rob Huyett,VC库团队的SDET。 我今天的主题其实不是什么新技术,或奥卡斯的奇迹,或诸如此类的东西。 只是想让大家了解一下这里的情况。 我今天写这篇文章是想谈谈我们用来帮助保持高质量测试的工具之一,我们的QA挑战或“QuAG”。 你会问,“挑战”工具到底是什么? 好吧,挑战通过一系列的测试来确保变化是健壮的并且不会破坏任何东西。 这个名字来源于“挑战”这个词,不过我还是让你来看看这个词的历史渊源。

null

QuAG是这里使用的几种护腕之一。 它与其他的不同之处在于它被定制来测试我们的测试,而不是测试VC本身。 我们经常要更新测试。 例如,随着VC本身的改变,有时测试也需要改变以适应新的VC行为。 其他时候,测试只是有一个需要修复的bug。 无论如何,我们希望确保更新测试不会导致任何意外问题。 不过,手工运行所有必需的测试排列将非常耗时,这就是QuAG的用武之地。

QuAG由一台服务器和大约12台客户机组成。 客户机包括三种受支持体系结构(x86、x64和ia64)中的每一种的代表。 在SDET对测试进行更改并准备将更改检查到源代码管理之后,他将更改提交给QuAG。 然后,QuAG服务器将不同的测试场景分配给不同的客户机。 测试场景的确切数量将根据所做的具体更改而有所不同,但典型的场景细分可能是x86 native、x64 native、ia64 native、x86 pure、x64 pure等。

客户机都是并行工作的,服务器跟踪它们。 当所有客户机都报告他们已经完成了测试(这可能需要几分钟到几个小时,具体取决于正在评估的测试和客户机的状态)时,服务器会查看结果,以查看是否一切正常。 如果一切正常,那么更改将自动签入到源代码管理中,并发送一封电子邮件通知团队签入。 如果有不符合预期的情况,则会向提交测试的SDET以及QuAG管理员发送电子邮件,以便对问题进行调查并重新提交。

当然,所有这些都需要相当多的工作来维持。 有十几台机器需要维修和更新。 QuAG软件由许多小的(不是很小的)脚本和各种语言的程序组成(主要是批处理文件和perl脚本)。 事实上,我们的目标之一,一旦奥卡斯是出了门,是看看QuAG,并试图给它一点调整,以减少维护开销。

一如既往,感谢您的意见和问题。 谢谢!

罗布·胡耶特

VC库团队

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享