测试大型应用程序的方法


10

我有一个很大的PHP应用程序。通常有2-3个开发人员全职从事这项工作,而现在我们正在进行更改并创建错误(咳嗽功能!)。每个人说的软件并不复杂,只是发生了很多事情(35个控制器,大约相同的型号,等等)。

即使小心,更改此视图(更改元素上的id)也很容易破坏在某些特殊条件下(单脚站立时注销)发生的ajax查询。

首先想到的是单元测试,但是我们在另一个应用程序上进行了尝试,很容易忘记它们/或花更多的时间编写测试然后进行测试。我们确实有一个临时环境,可以在上线之前检查代码。

也许我们需要兼职Q / A人员?

任何人都有任何建议/想法。


“ ... 然后进行测试”的意思是一个大于
ajax333221

Answers:


25

是的,您确实需要Q / A人员。许多原因中的一些包括

  • 专用的测试人员要花钱,但通常比开发人员要少,因此不浪费时间的好处大于额外的花费。
  • 专门的测试人员知道如何测试事物,尤其是那些不太明显的如何自动化的事物。通过浏览器来驱动与系统进行交互的自动化测试是一项艰巨但成熟的规程。如果您找到了已经知道该怎么做的人,则不必花费更多的时间来学习好的工具和设置。
  • 专业的测试人员知道如何实际发现缺陷。他们更有可能像应用程序的用户那样思考,因此会在系统中行使将在生产中实际出现的那些状态,这意味着那些被发现高度可见的错误将更早地被发现。 ,节省了您为超级紧急补丁支付的麻烦和成本。
  • 概括地说,测试人员并不像开发人员那样思考。如果您没有经历过,这很难传达出多少不同。不管有没有意识,开发人员都不想发现缺陷。他们知道系统的工作方式,并且倾向于避免在现实生活中造成麻烦的典型的(对他们而言)无意义的输入或数据。如果某件事以一种意想不到的方式工作,他们就会知道如何解决它,并且往往根本不认为这是缺陷。他们从来没有很难理解系统响应的含义,因为它们是由他们编写的,即使这是几乎所有实际系统中造成麻烦的主要原因。简而言之:程序员往往会遇到用户遇到的典型问题,因为他们是训练有素的专家。测试人员可以轻松进行最相关的测试。

也就是说,没有什么比开发人员和测试人员之间通过屋顶推动系统质量的生产合作更有效的了。开发人员通常会在测试人员发现之前发现某些错误迹象。开发人员通常可以建议测试人员如何更有效地重现问题以及如何编写适当的问题报告,即包括解决问题实际上所必需的细节。但是,所有这些都至少需要您可以与之合作的测试人员。


3
+1。我们训练有素,无法检测普通用户遇到的问题
superM 2012年

3

您很可能需要更多或更好的回归测试(特别不是单元测试)。您应该进行什么样的测试才能分析自己,但是他们应该检测到您正在谈论的错误。我建议您开始制定测试计划并确定这些测试的优先级-当您执行此操作时,起初不要对测试自动化考虑得太多。

然后,问问自己是否可以通过合理的努力使部分或大部分测试自动化。如果答案是肯定的,那么您应该对它们进行编程。如果回答是“否”,并且您认为“兼职问/答人”更便宜,那么您就不需要这样做了。在大多数情况下,同时拥有一个-手动测试和发明新测试的Q / A人员,以及很多自动回归测试都是一个好主意。


+1表示回归测试并指出单元测试不是唯一有效的解决方案。
乔治

嗨,您能详细介绍一下回归测试吗?我相信这些是为了防止旧错误再次发生-但是您建议使用方法来做到这一点吗?单元测试?要检查的事物的“清单”?谢谢:)
Wizzard

@Wizzard:“回归测试”一词只是对已经存在的,可正常使用的功能进行的任何类型测试的总称(以防止您在更改应用程序时破坏功能)。这涵盖了检查清单中的测试,通过前端的自动测试(这里可能是浏览器)以及单元测试。我的建议是,您首先应该考虑要测试什么,独立考虑如何进行测试(例如,如果您说“我们尝试了单元测试”,那么您已经在“如何”而不是在“什么”上) 。
布朗

2

聘请专业质量检查人员

如果您正在开发商业项目,则应这样做。如果没有强大的测试策略就可以准备好产品,则错误修复的成本将更高。此外,获得新客户还是保留他们还取决于您的应用程序测试的质量。

一般来说,应该将单元测试应用于您的代码库,但是不应丢弃集成测试和手动测试。


1

单元测试是一个非常好的主意,尤其是在您的项目正在增长的时候。如果编写单元测试成为一种习惯,那么它将大大简化您的工作。youtube上有一段有关编写简洁代码的视频,它更易于维护和测试。

质量检查工程师也是必须的。一个好的QA测试人员不仅会发现功能上的错误,而且还会测试该应用程序是否用户友好(您自己几乎无法测试)。 是一篇很好的文章,解释了质量检查团队如何节省您的时间和金钱,并帮助交付更好的软件。


1

15个控制器和模型不是很大。使写作测试成为一种习惯需要花费一些时间,互相学习(首先以友好的方式)对此很有帮助。

有一些工具可以控制测试范围。PHP的代码覆盖率工具


1
抱歉,有35个控制器和大约相同数量的模型。嗯,某种形式的单元测试似乎会有所帮助。
Wizzard
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.