Automated tests 如何在应用程序内部进行实时自我监控

Automated tests 如何在应用程序内部进行实时自我监控,automated-tests,unit-testing,Automated Tests,Unit Testing,我们正在应用单元测试、集成测试,并且正在实践测试驱动和行为驱动的开发 我们还从外部监控我们的应用程序和服务器(在我们的网络中使用专用软件) 缺少的是应用程序内部实时监控的一些标准 我举一个例子: 在应用程序中应该有一个类似cron的进程,定期检查数据结构中的某些结构健康状况 我们需要监控用户是否做了一些不危及应用程序健康的常规工作(有些操作和输入是我们无法阻止的) 我的问题是,这个的正确名称是什么,这样我可以在文献中进一步研究。我做了很多搜索,但我总是能找到我已经有的xunit和bdd/集成测试

我们正在应用单元测试、集成测试,并且正在实践测试驱动和行为驱动的开发

我们还从外部监控我们的应用程序和服务器(在我们的网络中使用专用软件)

缺少的是应用程序内部实时监控的一些标准

我举一个例子:

在应用程序中应该有一个类似cron的进程,定期检查数据结构中的某些结构健康状况

我们需要监控用户是否做了一些不危及应用程序健康的常规工作(有些操作和输入是我们无法阻止的)

我的问题是,这个的正确名称是什么,这样我可以在文献中进一步研究。我做了很多搜索,但我总是能找到我已经有的xunit和bdd/集成测试内容

那么这叫什么,专业应用程序开发的标准是什么,我想知道是否有像
xunit
这样的标准结构,或者xunit库是否可以用于它?我甚至找不到适合这个问题的标签,所以如果你读了这篇文章并且知道一些更好的标签,为什么不将它们添加到这个答案中并删除那些不合适的标签呢

对于用python、erlang或javascript编写的应用程序,这些应用程序大多是服务器端应用程序、web应用程序或守护进程,我需要这些

我们已经在做的是,我们从报告一些内容的应用程序内部创建了http网关,这是由nagios基础设施监控的

我可以在应用程序中运行一些类似cron的受控自我健康计划,但我对了解一些专业的标准化方法很感兴趣


我找到了这篇文章,它已经很接近了:

看起来您正在询问如何监控应用程序的方法。一般来说,可以区分主动监控和被动监控

active监视中,您创建了一些模拟真实用户行为的人工用户负载,并基于来自不存在用户的这些人工响应来监视您的应用程序(active=您主动导致应用程序流量)。假设您有一个web应用程序,可以获取特定城市的天气预报。要进行主动监视,您需要部署另一个应用程序,该应用程序将每隔N小时通过一些预定义的请求(“获取西雅图天气”)调用您的web应用程序。如果应用程序在指定的时间间隔内没有响应,您将根据该时间间隔触发警报


被动监视中,您可以随时间观察真实的用户行为。您可以使用日志解析来获取(未)成功请求/响应的数量,或者向应用程序中注入一些代码,以便在返回成功或不成功响应时更新数据库中的某些值(被动=仅检查其他用户的流量)。然后,您可以创建图表并检查用户流量是否存在显著偏差。例如,如果在一周前的同一时间,您的应用程序处理了1000个请求,而今天您只收到200个请求,这可能意味着您的软件出现了一些问题。

此网站提供有关软件质量和测试的问题。虽然可以对该主题进行足够广泛的定义,以包括监控(“质量是每个人的责任”,等等),但QA和监控传统上被视为不同的领域,例如,QA是关于部署到生产之前发生的事情,而监控是关于部署到生产之后发生的事情。作为支持证据,销售监控软件/服务的供应商的目标是生产团队,而不是QA团队。你可以自己决定问题的归属,而不是这里。@user246好的,我明白,你能帮我把这个移到stackoverflow吗?我认为这是最好的网站。我投票决定迁移到stackoverflow,你会得到更好的回复。谢谢你的迁移。请立即删除上面过时的评论。谢谢。不是真的监控,这是一种不同的理念