现在的位置:首页 > 软件开发行业资讯 > 文章详情

语境驱动测试原则

原则1:任何实践的价值都取决于其语境(Context)。

这条原则几乎是不言自明的。中国人很早之前就有相似的认识,“南橘北枳”[ 语出《晏子春秋》,其成书于战国,后经西汉刘向整理。]指相同的种子在不同的环境中会结出不同的果实。因此古人建议“因地制宜”[ 语出《吴越春秋》,成书于东汉。],即根据当地的具体情况,采用合适的措施。

然而,软件开发者往往会在无意中忘记这条原则。开发团队会照搬以往的经验,却不考虑经验可能已经过时;会不假思索地采用他人建议的开发方法,却不怀疑南橘北枳的可能;会按照高层的指示亦步亦趋,却不思索指令是否合理。更糟糕的是,在感觉到情况不妙后,却将错就错,不思变更。因此,开发团队需要频繁地反思其开发实践是否符合当前的语境,并做出相应调整。

原则2:在特定语境下存在好的实践,但不存在最佳实践。

这条原则看似有些武断,毕竟软件研发已经沉淀出一批公认的实践方法,它们是现代软件开发必不可少的核心实践。但是,细细一想便会发现这些方法也需要因地制宜。“持续集成”是公认的最佳实践,但是不同的团队往往有不同的集成频率。对于小型项目,一次签入(Check-in)会触发一次完整的构建;对于大型项目,开发团队可能每天做一次完整构建;对于超大型项目,做一次完整的构建可能需要几天甚至更长的时间。不同的构建频率和构建代价自然会导致不同的签入策略和测试方法。虽然都在实施“持续集成”,但是不同的团队会设计出不同的流程和方法。

对于测试工作者,这条原则表示任何一种测试方法(包括探索式测试)都不是无条件的最佳选择。测试人员始终要评估当前情况,寻找适合当前语境的测试风格和技术。

原则3:人,在一起工作的人,是项目语境中最重要的部分。

这条原则强调了软件开发的社会学因素。软件开发专家Tom DeMarco和Tim Lister指出:“本质上,我们工作中的主要问题,与其说是技术问题,不如说是社会学问题”。而社会学因素的根源是“软件开发是一个创造与沟通的协作游戏(Game[ Game也可以翻译为“博弈”。本书将其翻译为“游戏”是为了突出软件开发的乐趣、协作、沟通与互助。软件开发团队的对手不是团队成员,而是亟待解决的问题。])”。在创造与沟通的过程中,一定是个体和他们的交互(Individuals and Interactions)起主要作用。

在软件测试中,以下观点反映了人的重要性。

1)软件开发是具有挑战性的智力活动,开发人员(包括测试人员)的责任感、技能、状态将强烈影响软件实现和代码质量。因此,招聘、培训、挽留高水平开发人员是软件企业最重要的工作之一。

2)软件开发是一种创造与沟通的游戏。软件企业应该营造一种开放、协作的工作环境,使得开发人员能够自如地去思考、去发明、去创造。

3) 软件测试的核心任务是寻找并传递信息。在寻找信息的过程中,测试人员的能力和相互协作的水平将在很大程度上决定信息的数量和质量。

4)软件测试提供信息服务。服务就意味着有客户,测试人员是否成功,主要取决于是否很好地满足了客户的要求和最佳利益[Kaner01]。也就是说,测试人员的重要任务是理解客户,并与他们展开有效的交流。


----东营软件开发----

想要了解更多详情欢迎来电咨询18678812288,或登陆网址www.jnwzjs.net。联系人:王经理。