在项目开发期间或部署之前开始测试是否更有效率?

#1 楼

我注意到您没有问在项目开发期间或部署之前开始测试是否更好;您问哪个更有效。您也没有指定要最大化谁的效率。您没有说要由谁进行测试,但是由于您提到了部署前的测试,因此我假设您是指开发人员以外的其他人进行的测试,无论开发人员是否进行自己的单元测试。最后,您询问的是何时开始测试,而不是何时应该参与测试。

如果测试员过度劳累并被迫在太多项目之间共享时间,则可能是更有效的使用方式开发完成后他们有多少时间进行测试;这样,测试人员就不必在开发过程中重新进行工作以补偿不断变化的决策。

如果测试人员没有过度劳累,那么作为整个团队的一部分,测试人员可能会更有效率尽早介入。这样,例如,测试人员可能能够影响在代码中体现出问题之前就消除问题的决策。此外,假设测试人员有时间,则应在他们要测试的接口基本稳定后立即开始测试。

我不确定您所说的“部署前”是什么意思-在您的组织中,开发和部署之间是否还有其他阶段?如果您能澄清这一点,我也可以尝试解决您问题的这一方面。

评论


谢谢回复。我还没有太多的测试背景,并且正在做一些自学以准备自己。为了明确起见,我将以非开发人员QA测试人员的身份参与其中,因此我不会继续处理已完成的代码。从我的背景来看,测试人员从计划开始就参与计划。我只是好奇,因为我已经了解了软件周期中的不同方法,并在思考开发期间进行测试以及开发完成之后进行测试的优缺点。抱歉,如果引起混淆,我还不熟悉所有技术术语。

– katrinahispano
2012年10月24日14:47

#2 楼

在开发过程中开始测试为时已晚,而在部署之前开始测试通常会导致灾难,错过最后期限以及高昂的意外成本。

测试应尽早开始。如果您处于原型制作阶段,则测试人员应在确定任何要求/故事之前参与原型制作。

早期参与不仅可以使人们在项目中发出声音,还可以使测试人员能够开始设计测试,建模,审查等,这些操作可以防止错误并有助于提高整个项目的质量。

#3 楼

您应该澄清您的问题,以定义“开始测试”的含义。

看一下这张图(从此处获取):



测试的各个方面。
它们在软件开发生命周期(SDLC)的各个阶段定义和运行:




验收测试是与业务需求同时定义的-例如它们在SDLC的最开始定义,并在最末端运行;

系统测试与SRS一起定义,通常在每个alpha /本地版本中运行;

集成测试是组件的“中档”测试;它们被定义并经常运行,例如在每周的Scrum上;
等等,直到定义并在同一时间运行的非常低级的单元测试为止;

所以问题的答案:您应该定义并在整个SDLC的所有阶段都运行不同类型的测试。

PS一个常见的错误是从SDLC开始就没有分配质量检查工程师。如果发生这种情况,他们通常没有时间定义测试。我总是问自己,如果我没有定义,该如何运行?

#4 楼

测试团队应从一开始就参与该项目。尤其重要的是收集系统要求和设计阶段。基本上来说,您必须设计系统以实现可测试性。如果您的系统没有被设计为支持测试自动化,那么实现测试自动化是非常困难的。

还取决于您的组织,您使用哪种测试(单元测试,功能测试,端到端测试)等)以及您的支持基础架构是什么,例如持续集成,每夜构建等。

您还可以考虑使用测试驱动的开发流程。

评论


谢谢。我是软件测试的新手,但还不是那种技术。我将不得不研究有关测试驱动开发的更多信息。

– katrinahispano
2012-10-24 14:49

#5 楼

卡特里娜飓风,这里已经有了一些不错的答案,但是我想把一个活动扳手扔进去。要求已被提及几次。需求很好,但是在我工作的开发团队中,这些需求根本不存在。我测试何时将代码交付给我,有时是在部署之前的2-4周,并且零要求。这理想吗?否,但这是一个适用于我们的开发团队的系统。我要说的是有“理想的”测试环境和时间表,然后有“真实的”测试环境和时间表。对于您的雇主,开发团队和客户而言,测试人员在最适合自己的环境的时间范围内开始测试的效率更高。虽然了解最新的质量检查范例和“最佳实践”非常有用且有价值,但是如果您尝试遵循它们,而团队中的其他人却没有,则可能会发疯。始终牢记大局。

评论


必须有某种要求,否则开发人员将不知道编写什么代码?

– Phil Kirkham
2012年10月25日20:47

不,Phil,这是经理和开发人员之间的电话(或不邀请我参加的会议)。我对期望值有一个大致的了解。有了大约10%的新功能,我的Manager可以键入1-3页的文档,该文档将提供给客户供我使用,这是非常宽松的要求;我也结束了质量检查,并将其更正后退还给他。

–劳拉·亨斯利(Laura Hensley)
2012年10月25日在20:51

听起来很耳熟,劳拉。我花了很多时间来测试需求文档。

–凯特·保罗(Kate Paulk)
2012年10月26日上午10:23

使用现实世界作为数据点非常重要,但是...

–汤姆·德尔蒙特(Tom Delmonte)
16年7月27日在22:58

#6 楼

我工作场所的许多测试人员都是产品领域的专家,并且一遍又一遍地看到了可能出问题的地方。预先包括它们几乎总是值得的。他们将:


在实施之前识别潜在问题
在实施期间帮助指导开发团队
在实施之后更有效地进行测试


#7 楼

从我的角度来看,应该从项目开始就开始进行测试。从分析阶段到文档,设计,代码并交付给利益相关者。

QA团队在从A到Z的所有项目中都很忙。