软件测试体系建设1、概述软件测试体系的建设可以从软件测试的管理体系和技术体系两方面上进行作手,从团队组织、环境建设、标准制定、人员培养、配置管理、工作流程等方面进行建设。公司里有一个规范的软件测试体系,能有效提高软件质量和软件过程能力,能极大提高员工工作效率和降低员工工作强度。2、测试团队组织软件测试团队的组织根据公司规模,可以是一个部门也可以是一个测试组,其主要职责是负责整个公司软件项目的测试工作,团队内设一名负责人,负责测试人员的组织和管理工作。测试团队对测试工具,测试技术文档等进行管理,团队中设试人员若干名,每个测试人员有自己的发展和研究方向,有的发展方向是基于需求的测试,有的是基于安全的测试,有的是基于接口的测试,有的基于界面的测试等等,各测试人员必须精通自己测试发展方向,并要求熟悉其他人的测试技术。3、环境建设3.1硬件环境在环境建设上,主要从软硬件环境两方面着手。在硬件方面,保证了每个工作人员有自己的PC机,PC机硬件配置能保证软件,测试工具,管理工具等安装运行的最低要求。3.2软件环境在基于PC机上的环境,根据项目软件对运行环境的需求,保证测试人员有单独的测试PC机环境,如操作系统等,服务器环境等。同时,测试相关文档的管理(如需求分析,测试计划,CHECKLIST,测试用例,测试报告,分析报告等)是一个复杂和繁琐的工作,通过测试管理系统对计划、用例、过程、缺陷、过程等文档进行有效的管理。对于测试团队来说,利用测试工具可以大幅提高测试质量,根据公司产品特点和经济条件,可以使用免费工具和自己书写自动化工具,如对于代码审查和单元测试或以通过开发平台或用一些常用的测试工具如C++TEST进行测试;对于回归测试、压力测试通常使用自己书写的工具或一些免费的测试工具进行测试,对于比较复杂环境的性能测试或利用一些收费测试软件测试如LR或外包给专门的测试公司来做,以便减少测试成本和保证测试质量。标准制定对于一个团队来说,任何活动制定相关的标准尤为重要。同样,为了便于沟通和管理,保证测试文档术语的一致性,节约测试人员的时间和精力,提高测试质量,可以同相关部门或组一起制定一系列测试文档模板和测试文档编制说明,测试模板主要根据公司的项目特点和GJB438A国家标准制定。这些模板和编制说明主要包括计划、用例、过程、日志、测试分析报告等等。所有模板和测试规程说明保存在指定位置,每一项目开始时由测试负责人和相关测试人员确定此次测试应使用模板和规程说明,如已有模板和规程不够必先形成相关测试模板和规程说明,测试人员才能进行测试和填写文档,严禁测试人员提供不合乎要求的测试文档。当然测试人员在测试当中发现模板不合乎要求,同样可以提出增加模板,但同样要遵循先有模板再有文档的原则。同时,测试人员(白盒测试)和开发人员同时负责代码检查工作,主要检查代码是否符合软件开发规范的各项格式和要求,测试人员检查代码工作主要依据软件开发规范进行,开发规范的制定主要由开发负相关责人员完成,项目开始时由发负相关责人员提供给该测试测试团队相关人员。4、人员培养一个优秀的测试团队的形成并非一朝一夕能形成。软件测试和软件开发一样,是一项高智力的活动。在对测试人员的选择上我们通常从技术能力、沟通能力、记忆力、自信心、耐心、怀疑精神、洞察力、有条理和注意细节八方面进行考虑。对于新进入的测试人员,无论是否有测试经验或编程经验,都应进行测试的技术和管理规范培训,同时根据他们以往知识和个人特点给他们定位合适的测试方向。对于任何测试人员来说,都应有相关测试经验和测试理念,对于一个新人来说,培养周期是开始对他进行测试规范和软件开发规范的培训,代码审查和用例执行等,测试管理和用例设计等。在测试空闲时,要求测试人员互相培训,增加测试人员知识的广度。并重点钻研自己的测试发展方向,并形成相关文档变成企业的资源。5、配置管理软件测试过程是一个复杂性的劳动,测试过程中会产生大量测试文档,主要通过相关管理工具的方式实行对文档的管理。在文档的管理方面,按照公共类、项目类、软件缺陷类、开发人员类、测试工具类等:1)公共类主要放置测试模板及测试规程说明,测试经验共享文档,开发技术规范等。2)项目类主要包括项目各阶段文档,如需求分析、测试计划、测试用例设计、分析报告等。3)开发人员类是针对每个开发人员易犯错误的总结。4)测试工具类主要放置常用的测试工具。对于每个测试人员来说,测试管理软件采用的结构特点,每个测试人员可以通过Internet网查看或FTP下载公共类、软件缺陷类、开发人员类文档和自己权限范围类的项目文档。6、工作流程为了使测试工作有序,提高工作效率。测试团队要形成一套测试工作的流程。当一项目启动。测试负责人向所有测试人员介绍项目情况,项目负责人和测试负责人根据实际情况分配测试人员对新项目进行测试。项目负责人和测试负责人共同商定该项目各阶段所需的测试人员,随着项目的进行,各阶段测试人员相继加入。每个阶段首先相关测试人员首先对文档进行验证(需求验证、概要设计验证、详细设计验证、代码审查等),并编写相关测试用例,随后按项目实际情况加入进行测试。总体来说,项目整个测试过程按V模型进行,V模型是测试组织中常用到的一种模型,它指的是根据需求进行验收测试,根据概要设计进行系统测试,根据详细设计进行集成测试,根据编码进行单元测试。如下:需求分析验收测试概要设计系统测试详细设计集成测试编码单元测试在测试过程中,要求每个测试人员必须每天把测试文档(如测试报告)提交到测试管理系统中。对于测试阶段和维护阶段测试人员测出的软件缺陷,要求按错误登记分类及时录入系统中,方便开发人员及时查阅,对于软件缺陷,通过系统的生命周期进行管理。开发人员总能通过测试管理软件中的缺陷子系统及时知道自己开发部分所存在的软件缺陷。各阶段测试人员工作完毕相继离开此项目。7、存在问题和不足7.1沟通问题由于试人员和开发人员在软件的某些问题上会产生分歧,所以在对测试人员的培训时强调了注意原则性的同时,要注用一定的灵活性,双方沟通问题应加强。7.2人员安排项目较多时,一测试人员可能在一段时间内完成几个测试项目,容易产生几个项目时间规划对于一个测试人员的时间冲突问题。避免测试人员在多个项目中时间上的交叉也是以后测试负责人规划时应注意的问题。7.3后期人员安排项目结束后,再测试时人员组织问题和责任划定问题。在项目结束后,通常采用以后再需测试时仍由原谁测试谁负责的原则进行,但此时组织工作可能不如以前容易,因为此时相关测试人员已经有其他工作安排。