Questions tagged «testing»

根据软件系统的预期行为来验证该软件系统的行为。

3
部署Web应用程序的系统的健康检查的范围应该是什么?
今天,我有一项任务是为长期运行的服务“编写运行状况检查”,该服务是用于部署Web应用程序的业务流程系统。 我试图确定这种健康检查的范围,并提出了与健康检查范围有关的以下问题: 如果业务流程系统报告任务正在运行,则认为服务正常是否足够好? 还是我们应该手动ping每个服务? 还是应该走得更远,并尝试确保网络应用按照显示网页的目的进行操作? 运行状况检查是否还必须检查某些依赖服务是否也在运行?就像数据库或业务流程系统本身一样。还是其他健康检查的责任? 最后,如果其中一项从属服务失效,并且Web应用程序随后发生故障,那么Web应用程序应该报告不良运行状况还是良好运行状况,因为这不是Web应用程序的故障? 我知道这是5个独立的问题,但是它们都与部署Web应用程序的长期运行服务的运行状况检查范围有关,因此我认为将它们分组在一个问题中会更有意义。 这对我来说很难实现,因为我不确定什么是健康的定义或类似标准的健康检查应该是什么样。 此特定服务的健康检查应包含哪些内容?


4
为集成测试选择名称
使用单元测试时,域很小,因此很容易。我使用了Osherove的methodName_conditions_result()方案,发现它很清楚。 但是通过集成测试,我觉得它会叫一个很长的名字,我该用什么代替methodName?如何命名集成测试类? 集成测试名称的真实示例非常受欢迎。我希望答案也能帮助我更好地理解这些测试。

2
如何测试和测试互斥量实现
如标题所述:如何正确测试和基准化c ++中互斥锁的不同实现? 本质上,我为在2核,armv7上运行的项目编写了自己的std :: mutex类似类,目的是在无争议的情况下最大程度地减少开销。现在,我正在考虑在更多地方以及不同的体系结构中使用所说的互斥锁,但是在执行此操作之前,我想确保 这实际上是正确的 没有任何病理情况比标准的std :: mutex表现差很多。 显然,我写了一些基本的单元测试和微基准测试,一切似乎都可以用,但是在多线程代码中,“似乎可以使用”并不能给我带来很大的安慰。 那么,是否有已建立的静态或动态分析技术? 为互斥类编写单元测试时,常见的陷阱有哪些? 在性能方面应该注意哪些典型的极端情况? 我仅将标准库类型用于实现,其中包括对原子的非顺序一致的加载和存储操作。但是,我主要对实现不可知的建议感兴趣,因为我也想对其他实现使用相同的测试工具。
12 c++  testing  mutex 

2
测试与规格之间的差异
我现在有一个概念问题,我找不到有关Test(UnitTest等)与Spec(Rspec等)之间的差异的任何信息。 据我所知,规范包含在集成测试中,而测试包含在UnitTest中,仅此而已。 你能解释一下有什么区别吗?

2
作为后端开发人员,我们应该学习软件测试吗?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 作为初级开发人员,我在一家为航空业开发软件的公司中工作。我们有一个测试团队,所以我没有学习测试软件的动力。我的朋友正在一家小型公司工作,担任后端开发人员。他们的团队没有任何特定的测试团队,他们自己进行测试。后端开发人员应该了解测试软件吗?
12 testing  backend 

2
解决仅在特定设备上发生的错误的策略
作为Android开发人员,我为其创建应用的目标市场非常分散。虽然我可以指定某些要求-例如,我的应用仅支持xx或更高版本的Android,但有时可能会发生错误,这些错误仅在一种特定的手机型号上才明显。 是否有任何策略可以解决特定于设备的错误,而无需购买相关手机?我们维护了一套用于测试的手机,但是当2或3个用户报告只存在于其手机型号中的错误时,便无力外出购买新手机。 我敢肯定其他Android开发人员过去也遇到过类似的问题,并且很好奇可以使用哪些经济有效的策略来解决特定于设备的错误。 更新以添加一些细节: 我使用Bugsense捕获错误报告,因此,每当引发异常时,我都将知道电话的型号,堆栈跟踪,用户经历的次数以及其他一些细节。 这些用户可能位于不同的国家/地区,所以我无法假设自己可以借用他们的手机。 想象这样的情况: 100个用户已经安装了该应用程序,但是三个人抱怨按下按钮时按钮无法正常工作。我要测试的所有手机型号均未遇到该问题。问题电话型号似乎没有仿真器。

5
是否有任何正式的/数学的软件测试理论?
谷歌搜索“软件测试理论”似乎只是给出了软词义的理论。我没有找到任何可以归类为数学,信息理论或其他科学领域意义上的理论的东西。 我正在寻找的东西可以形式化什么是测试,使用的概念,什么是测试用例,测试某物的可行性,测试某物的实用性,应该测试某物的程度,形式的定义/解释代码覆盖率等 更新:另外,从直觉上讲,我不确定形式验证与我所要求的内容之间是否存在联系,但是显然存在某种联系。

1
Django中的单元测试
我真的很难为一个大型Django项目编写有效的单元测试。我具有相当好的测试覆盖范围,但是我已经意识到,我一直在编写的测试绝对是集成/验收测试,而不是单元测试,而且我的应用程序中有关键部分没有得到有效测试。我想尽快解决此问题。 这是我的问题。我的模式是深层的关系,并且非常注重时间,这给我的模型对象带来了很高的内部耦合和很多状态。我的许多模型方法都是基于时间间隔进行查询的,而在带有auto_now_add时间戳的字段中,我有很多事情要做。因此,以如下所示的方法为例: def summary(self, startTime=None, endTime=None): # ... logic to assign a proper start and end time # if none was provided, probably using datetime.now() objects = self.related_model_set.manager_method.filter(...) return sum(object.key_method(startTime, endTime) for object in objects) 一种方法如何测试这样的东西? 这是我到目前为止的位置。在我看来,应该对单元测试目标的参数进行一些模拟行为by key_method,是否summary正确地过滤/聚合以产生正确的结果? 模拟datetime.now()很简单,但是我如何模拟其余的行为呢? 我可以使用固定装置,但是我听说过使用固定装置构建数据的利弊(可维护性差是我的主意)。 我也可以通过ORM设置数据,但这可能是有局限性的,因为那时我还必须创建相关的对象。而且ORM不允许您auto_now_add手动处理字段。 模拟ORM是另一种选择,但是模拟深度嵌套的ORM方法不仅棘手,而且ORM代码中的逻辑也从测试中被模拟出来,而模拟似乎使测试真正依赖于内部和内部依赖。被测功能。 最难破解的螺母似乎是这样的功能,它们位于几层模型和较低级别的功能上,并且非常依赖于时间,即使这些功能可能并不十分复杂。我的总体问题是,无论我如何看待它,我的测试看起来都比它们要测试的功能复杂得多。

6
与实施系统本身相比,我们花费更多的时间来执行功能测试,这是否正常?
基本上,我们有三个主要项目,其中两个是Web服务,另一个是Web应用程序。尽管我对使用功能测试覆盖尽可能多的Web服务感到满意(所有三个项目都有其适当的单元测试),但针对Web应用程序的功能测试却需要花费大量开发人员的时间来实现。我所说的很多意思是实现包含单元测试的功能所花费的时间是两倍,有时甚至更多。 经理的政策是测试我们添加的每个功能,即使对业务不重要(即新的CRUD)也是如此。 我确实同意测试所有Web服务功能,因为很难对其进行手动测试,而且此测试运行速度很快,并且不需要太多的实现。 那么,花更多的时间编写功能测试,而不是编写系统代码,单元测试和修复QA标签,有什么价值?这正常吗?我们不应该只为关键功能编写功能测试,而让质量检查人员在没有关键功能的情况下进行回归测试吗? 注意:我们不是在开发医疗软件或NASA软件,或没有那么重要的工具。

4
没有真实的开发环境就能充满信心地进行开发
我最近受雇于一个涉及与多个第三方“企业”系统一起工作的项目。由于我想这是建立忠实的生产环境副本所需要的天文成本和精力,因此拥有真正的开发环境的前景似乎越来越渺茫。 这当然不是理想的。从好的方面来说,我认为必须有一些人安全地将软件测试和部署到像这样不可复制的环境中,我很可能会跟随他们的脚步。 那些有效处理此类情况的人是如何做到的?

2
所有单元测试都在一个可执行文件中,还是将它们拆分?
在为一个软件(例如一个库)编写测试时,您是希望将所有单元测试编译为一个,还是将它们分为几个可执行文件? 我问的原因是因为我当前正在使用CUnit来测试正在使用的库。这些测试被分为独立的套件,这些套件被编译成一个可执行文件,并带有打印输出以表示失败。现在,该库的构建系统是CMake(尽管它的名称不多,但与CUnit无关),它带有自己的测试框架CTest。CTest允许我注册用作测试的可执行文件列表。 我正在考虑是否使用CTest进行自动化测试。但是,这将需要我将到目前为止编写的测试分成单独的编译目标。否则,我不能真正利用CTests的某些高级功能,例如有选择地运行测试。 我意识到这更多是关于使用哪种工具以及它们的处理方式和约定的问题,但是除此之外,还有其他原因更倾向于使用单个测试可执行文件而不是单独的测试可执行文件吗?或相反亦然?


3
用Javascript应该测试什么?
在工作中,我们刚刚开始使用基于Javascript的大量应用程序(实际上仍在使用Coffeescript,但仍在使用),我一直在使用JsTestDriver和fabric来实现自动化测试系统。 我们从来没有用这么多的Javascript编写任何东西,所以到目前为止,我们从未进行过任何Javascript测试。我不确定在单元测试中到底应该测试什么。我们已经为各种事物编写了JQuery插件,因此很明显,应该使用JsTestDriver尽可能多地验证它们的正确性,但是我们团队中的其他所有人似乎都认为我们也应该测试页面级Javascript。 我认为我们不应该将页面级Javascript作为单元测试进行测试,而应该使用Selenium之类的系统来验证一切是否按预期进行。我这样做的主要理由是,目前确保页面级Javascript测试通过JsTestDriver失败,因为它们正在尝试访问DOM上可能不存在的元素。 那么,应该使用Javascript对哪些内容进行单元测试?

11
开发人员应该接受Excel宏完成的工作量估算吗?
在一个新项目中,一个朋友必须编写测试,编写测试所需的时间是由他的非开发人员经理编写的Excel宏计算出来的。 在这种情况下,开发人员是否应承担在计算的时间内编写和运行测试的责任?这些测试的结果值得信赖吗? 为了提供信息,我的朋友拒绝对他未做的估算负责,要求成功完成另一个项目,并由经验不足的校外“老兄”代替。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.