寻找PythonWeb应用程序项目的测试/质量保证理念

寻找PythonWeb应用程序项目的测试/质量保证理念,python,testing,integration-testing,Python,Testing,Integration Testing,我有幸在将近2年的时间里开发和增强了一个旧式python web应用程序。我所做的主要贡献是介绍了单元测试、NoestestPyQueCK和CI服务器的使用。是的,这是对的,仍然有一些项目没有单一的单元测试(公平地说,它有一些doctest,但是被破坏了) 尽管如此,进展还是很慢,因为从字面上讲,覆盖范围受到您能够编写的单元测试数量的限制 有时,令人尴尬的错误仍然会发生,而且在管理层报告中也不好看。(例如,即使pychecker也无法捕获某些“缺少属性”的情况,程序在运行时也会崩溃) 我只是想知

我有幸在将近2年的时间里开发和增强了一个旧式python web应用程序。我所做的主要贡献是介绍了单元测试、NoestestPyQueCK和CI服务器的使用。是的,这是对的,仍然有一些项目没有单一的单元测试(公平地说,它有一些doctest,但是被破坏了)

尽管如此,进展还是很慢,因为从字面上讲,覆盖范围受到您能够编写的单元测试数量的限制

有时,令人尴尬的错误仍然会发生,而且在管理层报告中也不好看。(例如,即使pychecker也无法捕获某些“缺少属性”的情况,程序在运行时也会崩溃)

我只是想知道是否有人对我可以做些什么来改进QA有任何建议。该应用程序使用WebWare 0.8.1,但我已将其专门移植到cherrypy,因此我可以利用WSGI进行集成测试

混合语言开发和/或雇佣额外的测试人员也是我考虑的选择

只要它能正常工作,任何事情都不会太疯狂。

Feather's是我经常向你这种情况下的任何人推荐的第一个资源(希望在我面对它的前四次左右之前,我能得到它!)--不是Python特有的,而是许多非常有用的通用建议

另一个我一直很满意的技术是——在捕获各种bug和漏洞方面,付出的努力少,回报大;看看

最后但并非最不重要的一点是,如果您确实有足够的人员和预算再雇佣一名工程师,请这样做,但请确保他或她是“测试中的软件工程师”,而不是一个温暖的身体敲击键盘或鼠标进行手动“测试”--有人很难编写和集成各种自动化测试方法,而不是整天无休止地重复(如果幸运的话)相同的手动测试序列

我不确定你认为混合语言开发在QA方面能给你带来什么。WSGI OTOH将为您即将推出的集成测试基础架构提供很好的瓶颈/钩子,可供您利用——这很好(也适用于其他各种事情;-)。

Feather's是我经常向您这种情况下的任何人推荐的第一个资源(希望我在头四次遇到它之前就有它!)--不是特定于Python的,而是许多非常有用的通用建议

另一个我一直很满意的技术是——在捕获各种bug和漏洞方面,付出的努力少,回报大;看看

最后但并非最不重要的一点是,如果您确实有足够的人员和预算再雇佣一名工程师,请这样做,但请确保他或她是“测试中的软件工程师”,而不是一个温暖的身体敲击键盘或鼠标进行手动“测试”--有人很难编写和集成各种自动化测试方法,而不是整天无休止地重复(如果幸运的话)相同的手动测试序列


我不确定你认为混合语言开发在QA方面能给你带来什么。WSGI OTOH将为您提供很好的瓶颈/钩子,以便在即将到来的集成测试基础架构中加以利用——这是一种很好的方法(以及其他各种方法)。

自动化测试似乎是一种非常有趣的方法。如果您正在开发web应用程序,您可能会对WebDriver感兴趣。自动化测试似乎是一种非常有趣的方法。如果您正在开发一个web应用程序,您可能会对WebDriver感兴趣,因为它是一个web应用程序,我想知道基于浏览器的测试是否对您有意义。如果是这样,请查看一套开源的测试工具。以下是您可能感兴趣的一些项目:

  • 自动启动和停止主要平台(linux、win32、macos)上的浏览器实例
  • 通过模拟网页上的用户操作(单击、键入)进行测试,基于Javascript
  • 对行为结果使用断言(加载新网页,包含文本,…)
  • 可以在firefox中录制交互式测试
  • 可以由Python测试脚本驱动,使用简单的通信API并在协调服务器(Selenium RC)上运行
  • 可以在同一台机器或多台机器上运行多个浏览器

它有一个学习曲线,但特别是Selenium RC服务器体系结构在进行自动浏览器测试方面非常有用。

由于它是一个web应用程序,我想知道基于浏览器的测试是否对您有意义。如果是这样,请查看一套开源的测试工具。以下是您可能感兴趣的一些项目:

  • 自动启动和停止主要平台(linux、win32、macos)上的浏览器实例
  • 通过模拟网页上的用户操作(单击、键入)进行测试,基于Javascript
  • 对行为结果使用断言(加载新网页,包含文本,…)
  • 可以在firefox中录制交互式测试
  • 可以由Python测试脚本驱动,使用简单的通信API并在协调服务器(Selenium RC)上运行
  • 可以在同一台机器或多台机器上运行多个浏览器

它有一个学习曲线,但特别是Selenium RC服务器体系结构在进行自动浏览器测试方面非常有用。

看看,它是一个用Python编写的无头web浏览器,专门用于自动测试。它可以记录和重放动作,还可以直接挂接到WSGI堆栈。

看看,这是一款用Python编写的无头web浏览器,专门用于自动测试。它可以记录和回放动作,还可以直接挂接到WSGI堆栈。

没有什么比测试更有用的了

这两句话真的很重要

  • “您可以编写多少个单元测试。”

  • “我不时感到尴尬