我有幸开发和增强了一个遗留的python web应用程序,几乎有2年了。我认为我所做的主要贡献是介绍了单元测试、nosestest、pychecker和CI服务器的使用。是的,这是正确的,仍然有项目没有单一的单元测试(公平地说,它有一些doctest,但都坏了)。
尽管如此,进展是缓慢的,因为从字面上讲,覆盖范围受到您能够负担得起的单元测试数量的限制。
令人尴尬的错误仍然时有发生,而且在管理报告中看起来也不太好。(例如,即使是pychecker也不能捕捉到某些“缺少属性”的情况,程序在运行时就会崩溃)
我只想知道是否有人有任何建议,我可以做什么额外的事情,以改善质量保证。这个应用程序使用的是WSGI0.8.1,但是我已经将它移植到了WebWare,所以我可以利用WSGI0.8.1进行集成测试。
混合语言开发和/或雇佣额外的测试人员也是我正在考虑的选择。
没有什么是太狂野的,只要它能工作。
发布于 2009-07-10 05:44:15
Feather的great book是我总是推荐给遇到这种情况的任何人的第一个资源(希望我在面对它之前已经掌握了它四次左右!-) --不是特定于Python,而是许多非常有用的通用建议。
我一直很喜欢的另一种技术是fuzz testing --就捕获各种bug和漏洞而言,它的工作量很低,回报很高;请查看它!
最后但并非最不重要的一点是,如果您确实有足够的人数和预算再雇用一名工程师,请这样做,但请确保他或她是“测试中的软件工程师”,而不是一个热衷于手动“测试”的人--一个热衷于编写和集成各种自动化测试方法的人,而不是花时间无休止地重复(如果他们幸运的话)相同的手动测试序列!
我不确定您认为混合语言开发人员在QA方面会给您带来什么好处。WSGI OTOH将为您提供很好的瓶颈/钩子,以便在即将到来的集成测试基础设施中加以利用--它对此很有帮助(对于其他各种事情也是如此;-)。
发布于 2009-07-10 08:10:54
自动化测试似乎是一种非常有趣的方法。如果您正在开发web应用程序,您可能会对WebDriver http://code.google.com/p/webdriver/感兴趣
发布于 2009-07-10 08:14:04
由于它是一款web应用程序,我想知道基于浏览器的测试对您是否有意义。如果是这样,请查看Selenium,这是一个开放源码的测试工具套件。这里有一些你可能会感兴趣的项目:
中记录交互式测试<代码>H110可以由Python测试脚本驱动,使用简单的通信应用编程接口并在协调服务器(Selenium RC)上运行。<代码>H211<代码>H112可以在同一台计算机或多台计算机上运行多个浏览器<代码>H213<代码>F214
它有一个学习曲线,但尤其是Selenium RC服务器架构在执行自动化浏览器测试方面非常有帮助。
https://stackoverflow.com/questions/1107858
复制相似问题