项目组成员觉得老Q的培训比较有价值,每次总能学到不少新东西。这次尽管都很忙,但还是在晚饭后聚在办公室里来听老Q测试培训。
老Q开场就说,开发需要的人力和时间不可能缩减,少一块系统就跑不起来;而测试就不同了,多测一点少测一点表面看不出来,只要不出大问题一样可以交付给客户。差别只是系统中隐藏的缺陷不同。一旦进度紧张项目经理就会选择压缩测试时间,这是一个本能的选择。说到这里老Q特意看了看小M,小M心里直嘀咕:“这老Q,这又是冲着我说呢!”
老Q接着说,保证质量最有效的措施也是测试。大家可能要问为什么有这么多种测试呢?首先,看看软件测试的V模型(见图6-1)。不同的测试活动是针对不同的开发活动来设置的。以V模型为基础,测试活动分为单元测试、集成测试、系统测试、性能测试和验收测试几种。
图6-1 软件测试V模型
■单元测试,主要是由开发人员自己对编写的代码进行自测或相互进行交叉测试,用以检查代码是否符合编码规范,是否存在逻辑错误。
■集成测试,将经过单元测试的模块组装成完整的程序。工作任务包括制定集成测试策略,确定集成测试步骤,设计集成测试用例,然后逐一添加模块进行测试。集成测试由测试人员负责,应该在概要设计完成后进行设计工作,并在单元测试完成后执行。
■系统测试,是为了验证需求分析确定的功能是否齐全并被正确实现,同时还要对安装、部署、适应性、安全性、界面等非功能性需求进行测试。系统测试也有测试人员负责,应该在需求分析完成后进行设计,在集成测试完成后进行实施。
■性能测试,用来检查系统是否满足规定的性能要求。性能测试通常选择一些典型的功能,检验这些功能在大量用户同时使用时系统是否稳定。性能测试由测试人员负责,可以在系统测试完成后进行,也可以对重要模块先进行性能测试,可以贯穿整个测试周期,目的是尽早发现系统的性能瓶颈并提早解决。(www.xing528.com)
■用户验收测试(User Acceptance Test,UAT),简称验收测试,目的是验证系统与需求的匹配性,以及界面的友好性、时间响应速度等。验收测试由客户负责完成,公司的测试人员配合进行。
因此,每种测试都有自己的目的和针对性。单元测试针对程序的规范和逻辑,集成测试重点是模块之间的连接,系统测试侧重系统功能的实现,性能测试验证系统的稳定性和效率,验收测试检验系统是否实现了业务需求,相互之间不能替代。
老Q又拿出一张图(见图6-2)接着说,这好比在系统前拦上了一道道不同的网,确保把各种问题、缺陷拦住,保证最终交付系统的质量。但是,每道“网”怎么设置大有讲究,测十个用例叫测试,测一个用例也叫测试。测十个用例就好比网孔小而密,可以把大量的缺陷拦截下来;测一个用例就如同挂了个“欢迎通过”的横幅,把问题留给了后面的人。
图6-2 测试过程示意图
缺陷客观存在、不会自己消失。因此,如果前面省事了,后面的就倒霉了。如果前面每道网都是“欢迎通过”,缺陷就像击鼓传花游戏一样不断向后传,直到停在最后接棒的人手里。只不过在我们这个“游戏中”,最后一棒是验收测试。如果这时大量的逻辑、功能和性能问题集中爆发,验收测试无法达到预期目的不说,而且还把我们前面的失职暴露给客户,这可就是让别人揭家丑了。
说到这里大家终于明白了,纷纷点头表示一定要严格把关,不能把问题留给客户。还有同事对老Q开玩笑地说:“要是今天有客户在这里,他们会感动得热泪盈眶的。”
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。