首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >测试一个非常大的应用程序的方法

测试一个非常大的应用程序的方法
EN

Software Engineering用户
提问于 2012-08-09 11:05:47
回答 5查看 1.7K关注 0票数 10

我有一个PHP应用程序,它非常大。通常有2-3个开发人员全职工作,我们正在进行更改并创建bug(咳嗽功能!)。该软件并不复杂,只是有很多事情发生(35~控制器,大约相同的模型,等等)。

即使小心,这个视图中的更改(调整元素上的id )也很容易破坏在某种特殊条件下发生的ajax查询(一只脚站着时退出)。

单元测试是首先想到的事情,但是我们在另一个应用程序上尝试了这些测试,很容易忘记它们/或者花更多的时间编写测试然后进行测试。我们确实有一个暂存环境,在此环境中,代码在推送前被检查过。

也许我们需要一个兼职的问答员?

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

EN

回答 5

Software Engineering用户

发布于 2012-08-09 11:28:32

是的,你确实需要问答员。其中的一些原因包括

  • 一个专门的测试人员需要钱,但通常比开发人员少,所以不消耗时间的好处大于额外的费用。
  • 一个专门的测试人员知道如何测试一些东西,特别是那些不太清楚如何自动化的东西。通过浏览器驱动与系统交互的自动化测试是一门有点多毛但很成熟的学科。如果你找到一个已经知道该怎么做的人,你就不用花更多的时间学习好的工具和设置了。
  • 专业的测试人员知道如何实际发现缺陷。它们更有可能像应用程序的用户所想的那样思考,因此在系统中执行那些在生产中实际出现的状态,这意味着那些非常明显的bug往往会被发现得更早,从而为您节省了超紧急补丁的尴尬和成本。
  • 一般说来,测试人员不像开发人员那样思考。如果你没有经历过这件事,你很难表达出这有多大的不同。无论有无意识,开发人员都不希望发现缺陷。他们知道系统是如何工作的,并且倾向于避免那些在现实生活中造成麻烦的典型的无意义的输入或数据。如果某件事情是以一种意想不到的方式起作用的,他们知道如何绕过它,而且倾向于完全不把它看作是一个缺陷。他们从不难以理解系统响应意味着什么,因为他们编写了这些响应,尽管这是几乎所有实际系统中的一个主要原因。简而言之:程序员往往不善于处理用户所遇到的典型问题,因为他们是训练有素的专家。测试人员执行最相关的测试要容易得多。

尽管如此,开发人员和测试人员之间在推动系统质量方面的富有成效的合作是无与伦比的。开发人员常常在测试人员之前注意到某些东西是错误的。开发人员通常可以建议测试人员如何更有效地再现问题,以及如何编写适当的问题报告,即包含解决问题所需的详细信息。但是,所有这些都需要至少一个可以与之协同工作的测试人员。

票数 25
EN

Software Engineering用户

发布于 2012-08-09 11:28:58

您可能需要更多或更好的回归测试(而不是具体的单元测试)。应该是什么样的测试,你必须分析自己,但它们应该检测到你正在谈论的bug。我建议您开始制定测试计划并对这些测试进行优先级化--当您这样做时,最初不要过多地考虑测试自动化。

然后,问问自己,是否可以在合理的努力下自动完成部分或大部分测试。如果答案是肯定的,那么你应该对它们进行编程。如果答案是“否”,而你认为“兼职Q/A人”更便宜,那么它应该是你所需要的。在大多数情况下,同时使用Q/A人员进行手动测试和发明新的测试,以及大量的自动回归测试都是一个好主意。

票数 3
EN

Software Engineering用户

发布于 2012-08-09 12:44:30

雇佣一个专业的QA

如果您正在开发一个商业项目,就应该这样做。在没有强大的测试策略的情况下准备一个产品将花费更多的bug修复费用。此外,获得新客户或留住他们也将取决于您的应用程序测试的好坏。

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

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/160151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档