开发人员执行的测试介绍 软件测试方法
再也不会出现由一个开发人员单独开发整个系统的情况了。现在的系统都是由一个大团队来开发,有时候细分为每个团队开发一个子系统,有的团队位于不同的地方,甚至位于不同的洲。开发的系统庞大而叉复杂,因而对质量的要求越来越高,同时还要考虑市场的激烈竞争或系统的使用强调安全的情形。这些都说明了在系统开发的早期进行测试乃至进行良好测试的必要性。单独测试团队的存在,并不意味着开发阶段的测试就不重要了。在最终产品的准备过程中,为了达到预期的质量要求,开发团队与测试团队都有着各自的重要角色。单独的测试团队主要是根据需求来执行测试,他们的目标是确保系统满足这些需求。相反,开发人员是利用软件的内部结构知识,从单元级开始测试。他们同样利用这些知识来测试不同单元的集成,以便提交一个稳定的系统。按照Beizer(1990)的说法·理论上如果没有时间限制的话,基于需求的测试能够找出所有的bug。由于单元测试和集成测试都有时间限制,因此即使完整地执行两种测试,也不能找出所有的bug。只有结合开发人员和测试人员两方面的测试。并且采用基于风险的测试策略,才能发现重要的缺蹈。这使得对于生产符合质量要求的系统来讲,两种类型的测试都是必要的。下面的理由能够解释为什么开发人员的测试是非常重要的:
■早期发现的错误容易解决。一般来讲,修复缺陷的费用会随时间的推移而上升(Bochm,1981)。
-高质量的基础元素更容易建立起高质量的系统,相反,低质量的基础元素 将导致不可靠的系统,而通过功能测试几乎不可能解决这个问题。
●在开发后期发现的缺陷,很难追溯到其根源。
一必须解决开发后期发现的缺陷时,将导致时间浪费在回归测试上。
一开发阶段的良好测试,将对整个项目时间产生积极影响。
■异常处理只有在单元级才能被很好地测试。
基本上不能通过产品后期的测试来提高质量,而应当从一开始严把产品质量关。为检查每个开发阶段的质量,测试是很必要的。
许多开发人员并没有意识到测试是开发过程中最有益的工作。为了使开发人嵌入式软件测试员的测试工作达到验收水平,那么测试就必须是有效的,而有效的测试必须选择集成策略。在5 2节中将讲述各种不同的集成策略.在5 3节里将讲述计划和控制种必须的测试活动。