浅谈持续集成构建在互联网软件测试项目中应用与分析

发表于:2013-6-14 14:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:王亮    来源:51Testing软件测试网采编

  摘要:本文将介绍持续集成互联网软件项目中的应用及案例分析,主要针对互联网行业软件项目过程中的软件测试效率和质量的研究与实践;在当前Web2.0时代,笔者抓住互联网行业的软件测试特性,在软件项目的开发过程中运用持续集成构建的思想来统一规范、流程和管理,不仅提升项目在提测之前的软件版本质量,也有利于软件项目过程的效率和质量风险控制。在浅谈持续集成及工具在项目中的应用同时,也结合笔者从事互联网软件测试的工作经验,进一步阐述与总结在软件测试过程的持续集成带来的益处与不足。

  笔者会先介绍当前互联网的软件测试与传统的软件测试区别与联系,然后针对互联网软件测试的特性再结合持续集成工具思想的运用,最后将比较详细的介绍Hudson持续集成构建平台在项目中的实践与分析,从而解决了在多个项目并行开发的软件项目中应该如何应用持续集成以保持项目整理开发过程的高质量和高效率问题。

  关键词:软件测试;持续集成;自动化测试

  一、引言

  在互联网信息时代,随着Internet的快速增长及Web应用的不断发展,使其快速渗透到商业、电子商务、军事、工业、教育等领域和个人生活的各个方面,对我们的生活及工作产生了深远的影响。在当今市场需求和Internet技术进步的不断推动下,Web应用日益增加,互联网的软件规模不断扩大,复杂性增加,操作易用性降低,面对互联网的用户也越来越多,因此软件的质量越来越成为人们共同关注的问题,作为保证软件质量和可靠性的重要手段,软件测试已成为互联网软件项目开发过程的重要环节。

  在整个软件生命周期中每个环节都存在软件测试的活动,软件测试伴随着软件开发,以检验每一个阶段性的成果是否符合质量要求和达到预先定义的目标,尽可能早的发现问题并修复问题已成为当前互联网时代软件开发与测试过程的目的,也就孕育了要提高上游软件质量,发挥测试工程师在软件项目需求、设计阶段参与的重要性。互联网的信息和产品更新速度较传统软件产品是非常之快的,保证好软件系统的质量和稳定性,运用敏捷的测试思维、测试工具来改变传统的测试方法和测试观念,正是在互联网软件实施过程中必须面对的。针对互联网软件开发的特点,笔者结合多年的软件测试经验与测试策略、工具,总结一些比较适用的方法、流程和工具综合运用到互联网软件开发与测试过程中,综合运用持续集成构建的思想进一步保证软件质量和提升开发效率。

  二、 现状分析

  目前在互联网软件开发测试过程中,存在效率低下、质量不高的情况,具体可以总结成以下几个方面:

  第一、RD编写的代码质量不高

  开发工程师在编码阶段,经常犯一些比较低级的错误,致使提测版本的代码质量较低,如空指针异常、重复犯错及违背编码规范等,常常会被在冒烟测试阶段退回而重新开发,增加提测版本质量和效率的风险,也影响到项目整体开发进度。

  第二、单元测试流程不规范,质量和覆盖率较低

  为了提高上游代码质量,在开发过程增加了单元测试流程和规范,各部门产品线统一推广与执行,实施一段时间后发现流程在各产品线执行执行的比较混乱,存在一些流程和规范细节问题,执行出现脱节,导致单元测试的代码质量与代码覆盖率下降,在某些项目过程中暴露的非常明显,较严重地影响了项目进度和质量。

  第三、测试方法单一,测试策略陈旧,测试过程的效率和质量低下

  项目过程,测试工程师从立项前的需求讨论到立项后的需求、DEMO、设计评审和TC编写几乎全程参与,一定程度提升测试工程师在项目研发过程的地方和影响力,另外也带来了测试方法单一和测试策略陈旧的问题,全靠手工测试已成为项目测试过程的瓶颈,往往就导致项目、需求排队现象,进一步分析说明了我们的测试产出比低下,效率不高。

  必须改变整个项目过程的测试方法,引入新的测试工具和测试策略,必须发挥自动化的力量缓解手工测试的瓶颈和解决效率低下的问题。

  第四、上线后出现故障频繁,bugfix需求增多

  项目和小需求在互联网行业中更新非常快,如果过程没有更好的控制软件风险的话,上线后的需求就会出现很多故障,导致用户大量投诉,后续修复的工作量将投入很多资源去支持,一定程度上浪费了精力和物力,降低了生成率。

  尤其是在大项目和新增需求发布上线后,故障的频繁让开发、测试心惊胆战,不仅要处理手中新的需求,还要跟进线上故障的bugfix需求,使工程师的精力分散,增加了质量的风险。如何把故障减少下来,如何提升测试阶段和开发前期的质量,已摆在工程师及主管们面前。

  第五、无数据支撑来度量和评估开发和测试人员的质量和效率

  软件过程度量目前实施的还不规范,无基本度量的数据来支撑说明存在的问题,只能通过某阶段某现象说明有问题存在,但无法给一个标准去度量和评估,这样给软件开发和测试过程的质量和效率评估带来很多不便,如何收集过程数据,如何制定度量标准,还需要进一步在软件开发过程进行分析与梳理。软件过程度量也是为保证软件质量的纽带,其实这个专题研究的内容也是比较广的,从软件工程上来讲,测试过程改进有很多模型参考,这里不展开说明。

  三、互联网软件测试特性

  在基于互联网软件系统开发过程中,通常就是以Web系统为基础,按照B/S的访问方式为主,包含客户端浏览器、Web应用服务器、数据库服务器的软件系统,首先从技术实现上来说,一般的Web系统结构,不论是.NET还是J2EE框架,都是多层框架设计,有用户操作界面层、业务逻辑层、数据驱动层;其次从结构上来讲,都是有客户端部分、传输网络部分和服务端部分。

  1、系统架构

  一个比较典型的互联网软件系统的结构示意图如图-1,前端的用户浏览器,通过网络访问应用服务器及数据库服务器传回的数据。

图-1

61/6123456>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号