(项目管理)谈项目管理和软件测试过程
软件测试过程和管理浅析
![软件测试过程和管理浅析](https://img.taocdn.com/s3/m/ab0464c82cc58bd63186bd7f.png)
软件测试过程管理 的基本 内容包括计划 、组织和监控 ;测试过程 中存 在的问题有 : 1 . 软件质量标准定义不准确 、任务边界模糊 。 2 . 软件测试项 目的变化控制和预警分析要求高。 3 . 软件测试项 目 具 有智 力密集 ,劳动密集 的特点 ,受人力 资源的
软件开发过程 的质量决定软件的质量 , 软件测试过程的质量直接 影响测试结果的准确性和有效性。 1 软件 测试过程常用的模型
l 、 型
V 模型反 映出测试活动与分析设计活动的关系 ,指出单元测试和集 成测试应检测程序 的执行是否满足软件设计 的要求 。系统测试应检测 系统功能 、性能 的质量特性是否达到系统要求的指标 。验 收测试确定 软件的实现是否满足用户需求或合 同的要支持系统类型 的产品 , 对测试要求比较高 ,通常测 试人员 和开发人员 的比例为1 : 1 。 3 、对于特定应用系统一类产品 ,由于以后对象清楚 、范围小 , 甚 至可对应用平 台或应用环境加 以限制 ,所以测试人员可以再减少 ,但 测试人员和开发人员的比例至少保证在 1 : 2 的水平以上 。
可 以开 展 。
w模型指出软件各开发阶段 中应同步进行的验证和确认活动 ,即 测试 与开发也 应是 同步进行 的。w模 型有利 于尽早 和全面 的发现问
题。
3 、 型
、 r 模型与w模型有不妥 ,即它们都把软件的开发视为需求 、 设计和 编码等一系列 串行 的活 动,而事 实上 ,这些活动可 以交叉进行的 。H 模型揭示这一点 :软件测试是一个独立 的流程 ,贯穿于产品的整个生 命周期 中,与其他流程并发进行。 除 了上面的几种常见模型外 , 还有x 模型 、前置测试模型等 。在实 践中 , 建议以w 模型作为框架 ,及早全面地开展测试 ,同时灵活运用H 模 型独立 测试的思想 ,在达到恰 当的就绪点时就应该开展独立的测试 工作 ,同时将测试工作进行迭代 , 最终保证完成测试 目 标。
项目管理《项目管理及软件测试》实验指导书【精选资料】
![项目管理《项目管理及软件测试》实验指导书【精选资料】](https://img.taocdn.com/s3/m/91c40f3633687e21af45a9f8.png)
《项目管理及软件测试》实验指导书成都电子机械高等专科学校计算机工程系目录实验一Rational Suite Enterprise的安装(2)实验二三角形问题的黑盒测试(9)实验三NextDate函数的黑盒测试(12)实验四Rational PureCoverage基本练习(16)实验五Rational PureCoverage案例测试(20)实验六Rational Purify基本练习(22)实验七Rational Purify案例测试(26)实验八Rational Quantify基本练习、案例测试(29)实验九在Rational Administrator中创建测试项目(34)实验十Rational Robot功能测试(39)实验十一Rational Robot性能测试(49)实验十二用Project 2003进行项目计划编写(65)实验一 Rational Suite Enterprise的安装(2学时)一.实验目的●掌握软件测试工具的安装、基本使用。
二.实验环境●windows 2000,512MB内存,80G硬盘。
●Rational Suite Enterprise 2003三.实验内容及步骤1.首先打开\\USER\软件测试\CD1,然后双击Setup.exe会出现如下图:2 单击下一步,如下图:3再打击下一步如下图: 4选择默认,单击下一步:5单击Next:6单击Update,出现如下图:7单击Next,出现如下图:8耐心等待单击直到完成,单击Finish就完成.9打开开始菜单——>程序——>rational software——>rational license key 10 选择Import a Rational License File后单击下一步:11从Browse选择如下图:12单击打开然后单击Import可见如下图:到此软件就正确安装完毕.实验二三角形问题的黑盒测试(2学时)一.实验目的●通过测试三角形问题熟悉掌握等价类划分法和边界值分析法。
项目管理与软件开发流程
![项目管理与软件开发流程](https://img.taocdn.com/s3/m/71f04d4c6d85ec3a87c24028915f804d2a168752.png)
项目管理与软件开发流程随着信息技术的不断发展,软件开发已成为了现代企业发展必不可少的一部分。
在软件开发的过程中,项目管理是关键因素之一。
只有通过科学的项目管理,才能保证项目的顺利进行,减少不必要的损失。
本文将结合实际情况,从项目管理与软件开发流程两个方面,探讨如何提高软件开发效率和质量。
一、项目管理项目管理是一组技能和技术,通过计划、组织和控制来达到特定的目标。
它有助于确保项目在时间、质量和资源限制条件下成功完成。
项目管理包括项目计划、执行、监控和收尾等多个方面。
为了保证项目管理的有效性,以下几点需要特别关注:1.明确项目目标在项目启动之前,需要明确项目的目标和需求,了解客户的具体要求和期望,这有助于为项目制定合理的计划和时间表。
只有在明确了项目目标之后,才能有针对性地开展项目管理工作和软件开发流程。
2.建立高效的组织机构在项目管理中,需要建立一套高效的组织机构,包括明确岗位职责、任务分工和职权等。
一个良好的组织结构可以将工作分配对应的人才和资源,实现工作效率的最大化。
同时,组织结构还可以有效减少项目的沟通成本,提高团队的协同效能。
3.制定科学的计划计划是项目管理中的关键环节,计划内容需要涵盖项目需求、风险、资源分配、进度安排、质量控制等多个方面。
一个科学、合理的项目计划可以为项目的实施提供明确的指导方针和保障措施。
4.有效的风险管理风险是项目管理中必须要面对的问题。
在项目执行过程中,可能会出现不同类型的风险,这些风险可能会对项目造成严重的负面影响。
因此,在项目管理中,需要建立风险管理机制,及时预警、分析和应对可能存在的风险,以最大程度地降低风险对项目正常执行的影响。
5.全程监控在项目执行过程中,需要进行全程监控,及时跟进项目进度和质量。
监控主要包括收集、分析和报告相关数据,并及时评估项目执行效果。
只有进行全面、有效的监控,才能及时发现问题并及时处理。
二、软件开发流程软件开发流程是指在软件开发过程中,通过特定的方法和规范,将从需求分析、设计、编码、测试和部署等一系列活动按照一定的先后顺序和时间限制进行,以满足客户需求和质量标准。
软件工程国家标准(一)
![软件工程国家标准(一)](https://img.taocdn.com/s3/m/d16c8f86db38376baf1ffc4ffe4733687e21fc06.png)
软件工程国家标准(一)引言概述:软件工程国家标准是指由国家有关部门制定的规范和指导原则,用于规范和指导软件工程领域的开发、测试和维护等工作。
本文将介绍软件工程国家标准的内容,并从五个大点进行阐述。
1. 软件项目管理1.1 项目立项与组织:确定项目目标和范围,明确项目的组织结构和职责分工。
1.2 项目计划与控制:制定项目计划、进度控制和风险管理策略,并监督执行情况。
1.3 质量管理:确保软件开发过程中的质量标准和控制措施,包括质量检查和质量评估。
1.4 配置管理:管理软件项目的所有配置项,包括版本控制和配置变更管理。
1.5 缺陷管理:管理软件开发过程中出现的缺陷和问题,制定解决方案和改进措施。
2. 软件需求工程2.1 需求获取与分析:收集和分析用户需求,明确软件系统的功能和性能要求。
2.2 需求规格说明:将需求转化为可测量和可验证的规格说明,包括功能性需求和非功能性需求。
2.3 需求确认和变更管理:与用户确认需求,并管理需求变更,确保软件系统满足用户期望。
2.4 需求追踪和验证:追踪需求的实现过程,确保软件系统的功能和性能符合需求规格。
2.5 需求评审和验收:评审和验证软件系统的需求规格,确保其与用户需求的一致性和可行性。
3. 软件设计与实现3.1 系统结构设计:设计软件系统的整体结构,包括组件、模块和接口之间的关系。
3.2 数据结构设计:设计软件系统中的数据结构和数据库模型,确保数据的合理组织和管理。
3.3 模块设计与实现:设计和实现软件系统的各个功能模块,确保功能的完整和正确性。
3.4 界面设计与交互设计:设计软件系统的界面和用户交互方式,确保用户友好和易用性。
3.5 编码规范与代码审查:制定编码规范,进行代码审查,确保软件代码的质量和可维护性。
4. 软件测试与验证4.1 测试策略与计划:制定测试策略和测试计划,明确定义测试的范围和测试用例。
4.2 单元测试:对软件系统的单个模块进行测试,确保模块的功能和性能符合要求。
软件项目管理流程的研究
![软件项目管理流程的研究](https://img.taocdn.com/s3/m/2fce8323bd64783e09122b73.png)
R sa c nS f ae rjc Ma ae n rc s eerho o w r oet n gme t oe t P P s
Ga g Ja i n il n
( aa ai n esyD ln 1 2 , h a D lnM ri U i rt,ai 0 6C i ) i t me v i a 1 6 n
软件项 目管理 的组 织模式 软件项 目可 以是 一个单 独 的开发 项 目,也 可 以与产 品项 目组 成一 个完 整 的软 件产 品项 目。如 果 是订单 开发 ,则 成立软 件项 目 组 即可 ;如果是 产 品开发 ,需成 立软 件项 目组 和产 品项 目,组 成 软件 产 品项 目组 。 公 司实行项 目管理 时,首 先要 成立项 目管 理委 员会 ,项 目管 理委 员会下 设项 目管 理小组 、项 目评 审小组 和软件 产 品项 目组 。 ( )项 目管理 委员会 。项 目管理委 员会 是公 司项 目管理 的 一 最 高决策机 构 ,一般 由公 司总 经理 、副总 经理 组成 。主要 职责 如 下 :1依 照项 目管理 相关制 度 ,管 理项 目;2 监督 项 目管理相 关 . . 制度 的执 行 ;3对 项 目立 项 、项 目撤 消进 行决 策 ;4任命 项 目管 . . 理 小组组长 、项 目评 审委员 会主任 、项 吕组 组长 。 ( ) 目管理 小组 。 目管 理小组 对项 目管 理委 员会 负责 , 二 项 项 般 由公 司管理 人 员组成 。主 要职责 如下 : 1草拟 项 目管 理 的各 . 项制 度 ;2组织 项 目阶段 评审 ;3保 存项 目过 程 中的相 关文件 和 . . 数据 ;4 为优化 项 目管理提 出建 议 。 . ( ) 目评 审小组 。 目评 审小组 对项 目管 理委 员会 负责 , 三 项 项 可下 设 开发评 审小 组和产 品评 审小 组 ,一般 由公司 技术专 家和 市 场专 家组成 。主 要职 责如 下 :1对项 目可 行性 报告进 行评 审 :2 . . 对市 场计划 和 阶段报 告进 行评 审 :3对 开发计 划和 阶段报 告进 行 . 评 审;4项 目结 束 时,对项 目总结报 告进行 评 审。 . ( 四)软件 产 品项 目组 。软件产 品项 目组 对项 目管 理委 员会 负 责 ,可 下设软 件 项 目组 和产 品项 目组 。软件 项 目组和 产 品项 目 组分 别设 开发经 理和 产 品经 理 。成 员一般 由公 司技 术人 员和市 场 人 员构成 。主要 职 责是 :根据 项 目管理委 员会 的安 排具 体负责 项 目的软件 开发和 市场调 研及 销售 工作 。 二 、软件项 目管理 的 内容 从软 件工程 的角度 讲 ,软 件开发 主要 分为 六个 阶段 :需 求分 析阶 段 、概 要设 计 阶段 、详细 设计 阶段 、编码 阶段 、测试 阶段 、 安装 及维 护阶段 。不论 是作坊 式开 发 ,还 是 团队协 作开 发 ,这 六 个阶 段都 是不可 缺少 的 。根 据 公司 实际情 况 ,公司在 进行 软件 项 目 理 时,重 点将软 件配 置管 理 、软件质 量管 理 、软件 风险 管理 管 及开 发人 员管理 四方 面 内容 导入 软件开 发 的整个 阶段 。 三 、编 写 《 软件项 目计 划书 》 项 目组成立 的第 一件 事是 编写 《 软件 项 目计划 书》 ,在计 划 书 中描述 开发 日程 安排 、资源 需求 、项 目管理 等各 项情况 的大 体 内容 。计划 书主 要 向公 司各相 关人 员发放 ,使 他们 大体 了解该 软 件项 目的情 况 。对于计 划 书的每 个 内容 ,都应 有相应 具体 实施 手 册 ,这些手 册是供 项 目组相 关成 员使用 的 。 四 、软件配置 管理 是否进 行配 置管 理与软 件 的规模 有关 ,软件 的规 模越 大 ,配 置 管 理 就 显 得 越 重 要 。 软 件 配 置 管 理 简 称 SM E (o ta eof gr toM ngm n 的缩 写 ),是 在 团队开 发 S fwr @n iua in aae et 中,标识 、控制 和管 理软件 变 更的一 种管 理 。配 置 管理 的使用 取 决 于项 目规模和 复杂 性 以及 风 险水 平 。 ( )目前 软件开 发 中面临 的 问题 。在有 限 的时 间、资金 内 , 一 要满 足 不断增长 的软件产 品质 量要 求 :开发 的环境 日益 复杂 ,代
软件测试中存在的问题及对策
![软件测试中存在的问题及对策](https://img.taocdn.com/s3/m/eb5b84687ed5360cba1aa8114431b90d6d858945.png)
软件测试中存在的问题及对策摘要:软件测试是指在将软件交付给用户之前,对软件需求、设计规范和相关代码进行有效的测试和评估。
它是软件开发过程中必至关重要的一个环节。
只有有效地实施软件测试,才能从根本上保证软件的质量和可靠性。
本文分析了软件测试中存在的问题,并提出了有效的对策。
关键词:软件测试;问题;管理;优化随着信息技术的不断发展和进步,软件的规模越来越大,复杂性也越来越高。
为了保证软件的质量,我们必须更加重视软件测试。
我国的软件测试工作还存在许多问题,需要改进和优化,以提高软件产业的竞争力。
软件开发行业前景广阔,受到各大企业的重视。
我们应该加强软件开发技术的研究和开发。
软件测试是一项重要内容,它直接影响到软件的质量。
本文首先介绍了软件测试的重要性,然后总结了软件测试面临的问题,并提出了合理的对策。
1软件测试的重要性软件测试的重要性主要体现在两个方面:1.1软件测试可以提高开发效率在软件工程项目的过程中,质量和进度通常被视为核心指标。
许多项目负责人尝试各种先进的方法和技术,以加快开发进度。
一旦发生返工,将对项目进度产生很大的影响,这突出了软件测试的重要地位,通过合理的测试可以发现存在的问题,在加快开发进度的同时避免返工。
软件测试有许多测试项目,包括集成测试和单元测试。
通过前期系统的软件测试,在第一时间发现软件中的bug和实际问题,从而提供足够的修改时间,减少开发工作量。
1.2软件测试可以保证软件质量在进行软件项目时,我们应该同时注意进度和质量。
通过传统的软件测试,我们可以发现系统问题,但我们找不到系统错误。
此时,我们需要进行集成测试,以便模块之间有更高的集成度,减少软件错误。
2软件测试中的问题分析2.1自动化和智能化程度低目前,在我国的经济市场上,已经出现了很多软件智能测试设备,但一些测试设备和工具仍然存在可扩展性差、操作困难、性价比低等问题,无法应用于实际的软件测试中。
软件测试往往依赖于人工干预,尤其是在嵌入式软件测试中。
软件工程的流程与项目管理经验
![软件工程的流程与项目管理经验](https://img.taocdn.com/s3/m/fe3a93f8d4bbfd0a79563c1ec5da50e2534dd166.png)
软件工程的流程与项目管理经验在软件开发领域,软件工程的流程和项目管理经验是至关重要的。
一个成功的软件项目需要经过从需求分析到项目交付等一系列流程,并结合适当的项目管理技巧来确保项目的成功完成。
本文将探讨软件工程的流程和项目管理经验,并分享一些实用的项目管理技巧。
1、需求分析需求分析是软件工程的第一步,也是最关键的一步。
在这个阶段,需要与客户充分沟通,了解客户对软件的需求和期望。
合理的需求分析能够明确项目的目标,为后续的开发工作提供指导。
2、项目规划项目规划是软件项目管理的重要组成部分。
在这个阶段,需要制定详细的项目计划,明确项目的范围、时间、成本和质量目标,并分配合适的资源。
合理的项目规划有助于提高项目的可控性和可预测性。
3、设计和开发在需求分析和项目规划完成后,进入软件的设计和开发阶段。
在设计阶段,需要根据需求分析的结果进行系统的设计,并制定合适的架构和模块划分。
在开发阶段,需要根据设计完成编码和单元测试工作。
合理的设计和开发过程能够提高软件的可维护性和可扩展性。
4、测试和调试软件测试是确保软件质量的重要手段。
在测试和调试阶段,需要对软件进行功能测试、性能测试和安全测试等,以确保软件的功能完善、性能优良和安全可靠。
同时,还需要及时修复发现的问题和缺陷。
5、项目交付和维护项目交付是软件项目完成的最后一步。
在项目交付阶段,需要进行系统的整体测试、文档的编写和用户培训等工作,并最终将软件交付给客户。
同时,为了确保软件的可持续发展,还需要进行后续的维护和升级工作。
在软件项目管理中,除了上述流程外,还需要掌握一些项目管理经验和技巧。
以下是一些实用的项目管理经验分享:1、合理分配资源项目管理中,合理分配资源是非常重要的。
需要根据项目的需求和优先级,合理分配开发人员、测试人员和其他资源,确保项目能够按时交付。
2、建立有效的沟通渠道良好的沟通能够避免项目中的误解和问题。
项目管理者需要与客户、团队成员和其他相关人员建立起有效的沟通渠道,保持及时的沟通和信息共享。
软考5个高级科目详细介绍
![软考5个高级科目详细介绍](https://img.taocdn.com/s3/m/d190ae692e60ddccda38376baf1ffc4fff47e25d.png)
软考5个高级科目详细介绍全文共四篇示例,供读者参考第一篇示例:软考,即软件设计师职业资格考试,是由国家人事部、教育部等国家部委主办的一项专业技术资格考试。
软考考试内容涵盖了软件开发、数据库、网络技术、项目管理等多个领域,是评价软件从业人员专业水平的重要标准之一。
软考分为初级、中级和高级三个级别,其中高级科目是软考的最高级别,对考生的专业素养和实际工作能力有着较高要求。
软考高级科目包括软考高级程序员、软考高级数据库、软考高级系统架构师、软考高级项目经理和软考高级软件设计师,这五个科目涵盖了软件开发、数据库管理、系统架构、项目管理和软件设计等领域,是软件行业的顶尖技术人才角逐的竞技场。
下面我们将逐一介绍这五个高级科目的考试内容及要求。
软考高级程序员:软考高级程序员考试内容主要包括:软件测试、软件开发工具、软件项目管理、软件工程、面向对象技术、网络技术、数据库技术等多个方面的知识。
考试形式为闭卷笔试,主要考察考生对软件开发过程中各个阶段的理解和掌握程度,尤其是对软件工程原理和方法的掌握,对软件设计、开发、实施和维护等过程的规范和实践经验。
软考高级数据库考试内容主要包括:数据库系统原理、数据库设计、数据库管理系统、数据库编程、数据仓库与数据挖掘等方面的知识。
考试形式为闭卷笔试,主要考察考生对数据库设计、管理、优化等方面的理解和实践能力,对数据库系统的原理和应用有深入的了解和掌握。
软考高级系统架构师:软考高级系统架构师考试内容主要包括:软件体系结构、分布式计算、大数据处理、云计算、系统集成、IT基础设施设计等方面的知识。
考试形式为开卷笔试,主要考察考生对系统架构设计、系统集成、IT基础设施规划等方面的能力,对分布式计算、大数据处理、云计算等新技术的应用和实践经验。
软考高级项目经理:软考高级项目经理考试内容主要包括:项目管理原理、项目管理工具、项目管理技术、项目经理沟通与协调等方面的知识。
考试形式为闭卷笔试,主要考察考生对项目管理的理论和实践能力,对项目管理的规范和标准有深入的了解和实践经验。
项目管理中横向视角下的软件测试过程管理
![项目管理中横向视角下的软件测试过程管理](https://img.taocdn.com/s3/m/00220eaff524ccbff1218446.png)
33 软件测试成本管理 . 目前使用的软件测试管理工具种类繁多 , 中市场上主流 其 成本管理对 于整个项 目尤为重要, 软件测试 中的成本管理 的软件测试管 理工具有 :T s Ln【( et il 开源组织 ) P Q a t 就是根据企业的情况和软件测试项 目的具体要求, ,H u ly i 利用 公司既 C ne (et rco) et etr( e trT sDi tr,Ts C ne 上海泽众软件 出品) B e ,I M 定的资源 , 保证 软件 测试 项 目的进度、 在 质量达 到客户满 意的
蛇 尾,马虎 了事” 。
化 出不 同的版本 , 同的测试工件之 间存在复杂而易变 的关联 不 有 些对 测试过程认识不够系统 , 将测试活动看作功能测试 关 系,测试工件具有易变特性 。[在软件测试过程 中从测试各 4 ] 或 性能测试 , 所使 用的测试 工具大多也只集中于软件功能测试 阶段横 向上把握配置管理 , 具体包括各阶段配置项标识 、 配置 和 结构测试 ,而缺乏对软件测试过程管理 的全面支持 , 没有对 项控制 、配 置项状态报 告和 审计 。 整 个过程进行系统的管理 。
软件测试中的项目管理经验分享
![软件测试中的项目管理经验分享](https://img.taocdn.com/s3/m/b91c8af88ad63186bceb19e8b8f67c1cfbd6ee46.png)
软件测试中的项目管理经验分享在软件开发过程中,软件测试占据了重要的一环。
而在软件测试中,项目管理是确保项目顺利进行、高质量交付的关键。
本文将分享一些软件测试中的项目管理经验,帮助读者更好地组织和管理测试项目。
一、明确项目目标与范围在软件测试项目开始前,项目经理和测试团队应该明确项目的目标和范围。
明确项目目标有助于全员明白项目的核心目标,并为之努力工作。
同时,明确项目的范围也有助于避免在测试过程中范围的扩大和变化,从而确保项目能够按时完成。
二、合理分配资源项目管理中,资源管理是一个重要且复杂的任务。
对于软件测试项目来说,同样要合理分配资源。
首先,根据项目的规模和需求,确定测试团队的规模和能力。
其次,根据项目的进度安排、工作量评估等因素,合理分配时间和人力资源。
这样可以保证测试全面进行,并有效地控制测试进度。
三、建立有效的沟通渠道在软件测试项目中,各个团队成员之间的沟通是至关重要的。
建立起高效且畅通的沟通渠道可以加强团队合作,提高工作效率。
为此,项目经理应该选择合适的沟通工具,并及时组织各类会议、讨论,促进信息传递和交流。
四、制定详细的测试计划测试计划是软件测试项目管理中的关键文件之一。
在测试计划中,应详细记录测试目标、测试方法、测试环境、测试资源等信息。
通过制定详细的测试计划,团队成员可以明确测试的重点和目标,有序地进行测试工作,并及时评估测试进度和质量。
五、进行风险管理软件测试项目中存在各种潜在的风险和问题。
为了避免这些风险对项目造成严重影响,项目经理应该积极进行风险管理。
具体做法包括对潜在风险进行评估和分析,制定应对措施,并随时关注项目中的风险状况,及时调整和改进管理策略。
六、实施有效的变更管理在软件测试过程中,变更管理是一项必不可少的任务。
由于软件开发过程中需求的不断变化,测试计划和测试策略也可能需要相应地进行调整。
因此,项目经理需要制定变更管理策略,确保任何变更都经过充分评估、控制和测试,避免引入潜在问题。
软件工程项目管理标准化(3篇)
![软件工程项目管理标准化(3篇)](https://img.taocdn.com/s3/m/33f45a29c950ad02de80d4d8d15abe23482f03e9.png)
第1篇摘要:随着我国软件产业的快速发展,软件工程项目管理的重要性日益凸显。
本文从软件工程项目管理的概念、特点、标准化的重要性以及实施策略等方面进行了详细阐述,旨在为我国软件工程项目管理提供有益的参考。
一、引言软件工程项目管理是指在软件开发过程中,通过科学的方法、合理的流程和有效的手段,对项目进行计划、组织、协调、控制和评估,以确保项目目标的实现。
随着我国软件产业的快速发展,软件工程项目管理的重要性日益凸显。
为了提高软件工程项目的成功率,降低项目风险,实现项目管理标准化成为必然趋势。
二、软件工程项目管理的概念与特点1. 概念软件工程项目管理是指对软件项目从立项、设计、开发、测试、部署到维护等全过程进行科学、系统的管理。
其主要内容包括项目计划、组织、协调、控制、评估等方面。
2. 特点(1)复杂性:软件工程项目涉及众多学科领域,如计算机科学、数学、心理学等,具有很高的复杂性。
(2)不确定性:软件项目在开发过程中,需求、技术、环境等因素都可能发生变化,导致项目不确定性增加。
(3)创新性:软件项目具有创新性,需要不断探索新技术、新方法。
(4)跨学科性:软件工程项目涉及多个学科领域,需要跨学科的知识和技能。
三、软件工程项目管理标准化的重要性1. 提高项目管理效率通过标准化,可以规范项目流程,提高项目管理效率,降低项目成本。
2. 降低项目风险标准化有助于识别和防范项目风险,提高项目成功率。
3. 提升软件产品质量标准化有助于提高软件开发过程的质量,降低软件缺陷率。
4. 促进产业协同发展标准化有助于推动软件产业协同发展,提高我国软件产业的国际竞争力。
四、软件工程项目管理标准化实施策略1. 建立标准体系(1)制定软件工程项目管理标准:包括项目计划、组织、协调、控制、评估等方面的标准。
(2)制定软件工程开发标准:包括需求分析、设计、编码、测试、部署等方面的标准。
(3)制定软件工程运维标准:包括系统监控、故障处理、性能优化等方面的标准。
软件项目组织架构和项目管理方案
![软件项目组织架构和项目管理方案](https://img.taocdn.com/s3/m/0c3b2b5fa200a6c30c22590102020740be1ecdc7.png)
软件项目组织架构和项目管理方案一、引言软件项目组织架构和项目管理方案是为了有效地组织和管理软件项目,确保项目按时、按质、按量完成而制定的。
本文将详细介绍软件项目组织架构和项目管理方案的具体内容,包括组织架构、项目管理流程、项目管理工具等。
二、组织架构1. 项目组织结构软件项目组织结构是指为了完成软件项目而组织起来的各个部门和岗位之间的关系和职责划分。
我们的软件项目组织结构采用了矩阵式组织结构,主要包括以下部门和岗位:- 项目管理办公室(PMO):负责整个项目的规划、协调和监督。
- 项目经理:负责项目的整体管理和决策。
- 开辟团队:包括需求分析师、设计师、开辟工程师等。
- 测试团队:负责软件的测试和质量保证。
- 运维团队:负责软件的部署和运维。
2. 职责划分- 项目管理办公室(PMO):负责制定项目管理流程和标准,监督和评估项目的执行情况。
- 项目经理:负责项目的整体规划、组织和控制,协调各个团队之间的工作。
- 需求分析师:负责采集用户需求,编写需求文档,并与开辟团队沟通需求细节。
- 设计师:负责软件的整体设计和界面设计。
- 开辟工程师:根据需求和设计进行软件的编码和开辟。
- 测试工程师:负责对软件进行测试,包括单元测试、集成测试和系统测试。
- 运维工程师:负责软件的部署、运维和故障排除。
三、项目管理流程1. 项目启动阶段- 确定项目目标和范围。
- 制定项目计划和时间表。
- 确定项目资源和预算。
- 成立项目团队。
2. 需求分析阶段- 采集用户需求。
- 编写需求文档。
- 与开辟团队沟通需求细节。
3. 设计阶段- 进行软件的整体设计和界面设计。
- 编写设计文档。
4. 开辟阶段- 根据需求和设计进行软件的编码和开辟。
- 进行代码评审和单元测试。
5. 测试阶段- 进行集成测试和系统测试。
- 修复测试中发现的问题。
6. 部署与运维阶段- 部署软件到生产环境。
- 进行运维和故障排除。
7. 项目收尾阶段- 进行项目验收。
软件测试项目管理基本原则
![软件测试项目管理基本原则](https://img.taocdn.com/s3/m/d450de000a4c2e3f5727a5e9856a561252d321d4.png)
软件测试项目管理基本原则
1. 计划优化:
在软件测试项目中,计划是关键。
制定合理的计划可以提高测试的可靠性和效率。
这就需要在测试周期内制定计划,包括测试用例的编写,测试环境的设置,工作计划等等。
并在测试周期结束前及时检查和调整计划,确保项目进展顺利。
2. 团队合作:
软件测试需要多人合作完成,因此建立一个高效的团队将极大地帮助项目进展。
需要建立良好的沟通机制,有效的分配任务和职责,明确团队成员的角色和贡献,以确保在整个测试周期内高效协作。
3. 强化质量控制:
质量控制是软件测试中不可或缺的一环。
为了保证测试过程的质量,测试团队需要在每个测试阶段都进行合适的验收,及时地反馈测试结果,以及确保最终交付的软件质量稳定可靠。
4. 持续改进:
持续改进是一种重要的方法,可以使软件测试团队不断改进测试质量,提高测试
效率和减少测试成本。
团队需要在每个测试阶段都收集和分析数据,以便在目标实现之前改进策略以及根据数据进行实时修正。
5. 所有测试,终归是为满足用户需求:
软件的制作和测试,最终的目的都是为了满足用户的需求。
团队要根据用户需求,确定合适的测试方法和策略。
并对测试过程中的问题进行跟踪和反馈,以确保软件的质量和用户满意度达到最佳水平。
简述软件测试的基本流程。
![简述软件测试的基本流程。](https://img.taocdn.com/s3/m/40b36223001ca300a6c30c22590102020740f29d.png)
简述软件测试的基本流程。
一、引言随着信息技术的飞速发展,软件产品在各行各业中发挥着越来越重要的作用。
为确保软件产品的质量和稳定性,软件测试成为了软件开发过程中不可或缺的一环。
本文将简要介绍软件测试的基本流程,以帮助大家更好地理解软件测试的工作内容和方法。
软件测试与开发之间存在密切的关系。
开发人员负责编写代码,而测试人员则负责验证代码是否符合预期功能。
这种相互协作的关系有助于及时发现和修复软件中的问题,提高产品的质量。
二、软件测试基本流程1.测试计划在软件测试过程中,首先需要制定测试计划。
测试计划是针对软件产品的一份详细说明,包括测试的目标、范围、方法、资源、时间安排等。
测试计划为整个测试过程提供了明确的指导。
2.测试用例设计测试用例是针对软件功能的具体操作步骤。
测试用例设计是为了发现软件中的缺陷,确保软件功能正常运行。
测试用例设计需要充分考虑各种情况,包括正常流程、异常流程、边界条件等。
3.测试执行测试执行是按照测试计划和测试用例进行实际操作的过程。
测试执行过程中,测试人员需要对软件产品进行充分的测试,以发现潜在的缺陷。
4.测试报告测试报告是对测试过程和结果的总结。
测试报告主要包括测试的进度、缺陷数量、缺陷级别、测试用例覆盖率等信息。
测试报告为开发人员提供了修复缺陷的依据,也为项目管理提供了评估软件质量的依据。
5.缺陷跟踪与修复测试过程中发现的缺陷需要及时报告给开发人员,并进行跟踪和修复。
缺陷跟踪主要包括缺陷的状态、优先级、修复进度等。
开发人员需根据缺陷的严重程度和优先级进行修复。
6.测试结束当所有缺陷得到修复,测试人员需对软件产品进行再次验证,确保软件质量达到预期。
测试结束后,软件产品可以交付给客户使用。
三、测试策略与技术1.静态测试静态测试是指在软件开发过程中,对代码、设计文档等进行分析、评审,以发现潜在的问题。
静态测试有助于提前预防软件开发过程中的风险。
2.动态测试动态测试是指在软件运行时对其进行测试,以发现实际运行过程中的问题。
软件测试项目管理中遇到的问题及解决方法
![软件测试项目管理中遇到的问题及解决方法](https://img.taocdn.com/s3/m/0b23cdb74793daef5ef7ba0d4a7302768e996f9c.png)
软件测试项目管理中遇到的问题及解决方法在软件开发过程中,软件测试项目管理是一个至关重要的环节。
它不仅关乎产品的质量和稳定性,还直接影响到整个项目的进度和成本。
然而,在软件测试项目管理过程中,常常会遇到各种各样的问题,这些问题可能会导致测试项目的延迟、成本超支以及质量问题。
对于软件测试项目管理中遇到的问题,我们需要及时发现并解决,以确保测试项目能够顺利进行并取得成功。
一、人员配备不足导致工作进度缓慢在软件测试项目管理中,人员配备是至关重要的一环。
如果测试团队人手不足,就会导致工作进度缓慢,影响整个项目的进度。
解决这一问题的方法包括:1.1 招聘新人员如果测试团队人手不足,可以通过招聘新人员来解决。
招聘合适的测试人员以补充团队人手不足的情况,提高测试效率。
1.2 内部调整如果团队内部有其他部门的员工具备测试能力,可以通过内部调整将其调至测试团队,以解决人员配备不足的问题。
1.3 外包服务如果项目短期内需要大量的测试人员,可以考虑外包服务,将一部分测试任务交给外包公司来完成,以提高测试效率。
二、需求变更频繁导致测试计划无法有效执行在软件测试项目管理过程中,需求变更是常有的事情。
如果需求变更频繁,就会导致测试计划无法有效执行,影响测试进度和质量。
解决这一问题的方法包括:2.1 与开发团队沟通及时与开发团队沟通,了解需求变更的情况,以便及时调整测试计划和测试重点。
2.2 稳定需求变更尽可能稳定需求变更,减少因为频繁的需求变更而影响测试计划的情况。
2.3 及时更新文档对需求变更及时进行文档更新,确保测试团队和开发团队对需求变更有一个统一的认知,减少因为沟通不畅而导致的问题。
三、测试资源不足导致测试效率低下在软件测试项目管理中,测试资源的充足与否直接影响到测试效率。
如果测试资源不足,就会导致测试效率低下,延长测试周期。
解决这一问题的方法包括:3.1 提升自动化测试水平通过提升自动化测试水平,减少人工测试的同时提高测试效率,解决测试资源不足的问题。
软件测试项目管理制度
![软件测试项目管理制度](https://img.taocdn.com/s3/m/92fd434377c66137ee06eff9aef8941ea76e4b0b.png)
软件测试项目管理制度一、总则为规范软件测试项目管理工作,提高软件测试的质量和效率,制定本管理制度。
二、适用范围本管理制度适用于公司内所有软件测试项目的管理工作。
三、管理体系1. 负责人制度公司内每个软件测试项目都应指定一个负责人,负责项目的整体管理和协调工作。
2. 项目组建制度软件测试项目应按照不同的项目规模和难度,组建相应的项目团队,确保项目能够按时按质完成。
3. 进度管理制度在项目启动之前,应确定项目的工作计划和时间节点,并及时跟踪项目进度,确保项目按时完成。
4. 资源管理制度公司应合理分配项目资源,包括人力、财力、物力等,确保各个项目都能够顺利进行。
5. 风险管理制度对项目可能面临的各种风险进行评估和分析,制定相应的应对措施,确保项目顺利完成。
6. 质量管理制度公司应建立严格的软件测试质量管理体系,确保软件测试项目的质量符合要求。
7. 沟通协调机制项目组内成员之间应保持良好的沟通和协调,及时解决项目中出现的问题,确保项目进展顺利。
8. 学习和改进机制公司应鼓励项目组成员不断学习和提升技能,不断改进工作方法,提高软件测试项目的质量和效率。
四、工作流程1. 项目立项项目开始之前,需对项目进行立项,明确项目的目标、范围、时间和资源等要素。
2. 需求分析根据项目需求,进行详细的需求分析,明确需求的具体内容和实现方式。
3. 测试计划编制制定软件测试计划,包括测试目标、测试范围、测试方法、测试资源等内容。
4. 测试用例设计根据需求和测试计划,编写详细的测试用例,确保对项目进行全面的测试。
5. 测试执行按照测试计划和测试用例进行测试执行,对软件进行功能、性能、安全等多方面的测试。
6. 缺陷管理发现软件中的缺陷后,及时记录并跟踪缺陷处理过程,确保缺陷得到有效解决。
7. 测试报告根据测试结果,编写测试报告,对软件的质量和稳定性进行评估,为项目提供决策依据。
8. 项目总结项目结束后,进行总结和分析,总结经验教训,为以后的软件测试项目提供参考。
软件开发项目管理流程及方法
![软件开发项目管理流程及方法](https://img.taocdn.com/s3/m/883c011e2bf90242a8956bec0975f46527d3a737.png)
软件开发项目管理流程及方法随着科技与互联网的发展,软件开发已经成为很多企业发展的重要途径。
然而,软件开发项目的管理并不是一件容易的事情,需要从需求分析、设计、开发、测试、交付等多个环节精确掌控。
下面介绍软件开发项目管理的流程及方法。
一、需求分析在软件开发项目启动之前,需求分析是非常重要的一步。
通过与客户的沟通以及收集用户的需求,明确软件系统所需要解决的问题,将用户需求转化为软件系统的功能需求,为后续的软件开发工作提供指导和依据。
二、设计在明确了软件系统的功能需求之后,设计阶段就是为这些功能需求提供系统的框架架构和技术方案。
设计包括架构设计、模块设计、数据库设计、界面设计等。
通过对设计阶段的深入分析、进行设计评审和修改,避免后续开发的时间和成本浪费。
三、开发开发阶段是软件开发项目的主要阶段,包括代码编写、调试、集成等工作。
在此阶段中,需要严格遵守项目管理计划中所规定的开发流程和时间节点,并且使用版本控制系统确保代码开发的有效管理。
四、测试软件测试是保证软件系统质量的重要过程。
测试阶段的主要目标是通过在不同的测试环境中进行系统、单元、接口、安全等各种类型的测试,保证软件系统的功能性、稳定性、可靠性和性能符合需求规格说明书的要求。
五、交付软件开发项目的交付是项目生命周期的最后一步,通过正式的部署和上线,将系统交给用户进行使用。
在此阶段中,需要对交付过程进行仔细的规划和管理,确保项目顺利完成。
六、项目管理工具软件项目管理工具可以帮助项目经理更好地掌控项目,优化项目计划和成果,提高项目管理效率。
其中代表性的软件包括Jira、Redmine、Trello等。
七、团队协作一个成功的软件项目需要团队的高效协作。
因此,团队的建设、团队精神、协作意识的培养等都是软件项目成败的关键。
同时还需要开展团队建设活动、技术分享和协作讨论等工作,促进团队成员的相互交流和学习。
总之,一个成功的软件开发项目需要遵循一定的管理流程和方法,确保每个环节的协同配合。
软件项目管理与开发流程
![软件项目管理与开发流程](https://img.taocdn.com/s3/m/3a1f9eebb04e852458fb770bf78a6529657d355c.png)
软件项目管理与开发流程在软件开发过程中,团队需要遵循一定的项目管理流程和开发流程,以确保项目的顺利完成。
以下是一个概括性的软件项目管理和开发流程的框架,包括常见的阶段和活动。
一、项目管理与规划1.项目启动与定义在项目启动阶段,团队需要明确项目的目标、范围、可行性、资源需求和时间计划等。
项目经理需要与项目赞助商、利益相关者进行沟通,制定项目计划和目标,并分配资源。
2.项目风险管理项目经理需要评估项目中的潜在风险,如技术风险、资源风险、成本风险等,并制定相应的应对措施。
团队需要确保项目的顺利进行,并及时解决可能出现的问题。
3.项目质量管理团队需要确保项目的质量符合预期,并进行质量计划、质量保证和质量控制等活动。
这包括制定质量标准、规程和测试计划,以及进行测试、审核、审查和验收等工作。
4.项目沟通管理项目经理需要制定沟通计划,确保项目团队成员之间及时沟通、协调和合作。
这包括定期会议、报告、沟通渠道管理以及利益相关者的沟通。
二、项目开发流程5.需求分析在需求分析阶段,需求分析师需要与利益相关者进行沟通,了解和分析软件系统的需求。
他们需要收集需求、定义系统功能和业务规则,并编写需求文档。
6.系统设计在系统设计阶段,系统架构师和系统设计师需要将需求转化为技术设计和系统设计。
他们需要设计系统的整体结构和功能模块,并考虑系统的性能、可维护性、可重用性和安全性等方面的需求。
7.系统开发在系统开发阶段,开发人员需要按照系统设计和规范编写高质量的代码。
他们需要遵循编程语言的标准和最佳实践,同时进行单元测试和集成测试,以确保代码的正确性和可靠性。
8.软件测试在软件测试阶段,软件测试人员需要验证软件系统的功能和性能是否符合需求和预期。
他们需要设计测试用例,执行测试计划,并报告任何发现的问题或错误。
测试阶段包括单元测试、集成测试、系统测试和验收测试等。
9.部署与发布在部署与发布阶段,团队需要将软件系统部署到目标平台并发布。
软件测试工作流程及管理规范
![软件测试工作流程及管理规范](https://img.taocdn.com/s3/m/2916f2d6d5d8d15abe23482fb4daa58da0111c3b.png)
测试工作流程及管理规范目录测试工作流程及管理规范 (1)一、编写目的 (2)二、规范说明 (2)三、测试团队构成 (2)(一)职责 (2)(二)角色划分 (3)四、工作流程及规范 (4)(一)需求、计划与设计阶段 (4)(二)实施测试阶段 (6)(三)总结阶段 (8)(四)项目维护阶段 (9)五、测试管理规范 (10)(一)缺陷类型定义 (10)(二)缺陷严重等级 (10)六、测试部组内成员技能提升 (12)七、测试部晨会 (12)一、编写目的本文档是测试团队的日常工作规范,主要侧重测试工作流程的控制,明确软件工程的各阶段测试团队应完成的工作。
测试技术和策略等问题不在本文档描述范围内。
二、规范说明1、测试部是独立于项目部的一个部门,必须按照测试部工作要求开展工作;2、测试部工作人员应按照测试需求文档以及客观事实执行测试,严格坚持原则;3、测试部工作时间及反馈应根据项目总体时间和进度来制定,时间安排受技术总监整体掌控;4、测试验收报告必须由软件部负责人、项目经理、美工部主管、测试部主管、项目测试负责人五方共同签字,并提交总经理助理一份,与总经理共同进行抽查;5、测试完成后出具《测试总结报告》,项目方可正式上线。
三、测试团队构成(一)职责测试是软件开发过程中的重要组成部分,肩负着如下责任:A、在项目的前景、需求文档确立之前对文档进行测试,从用户体验和测试的角度提出自己的看法。
B、编写合理的测试计划,并与项目整体计划有机地整合在一起。
C、编写覆盖率高的测试用例。
D、针对测试需求进行相关测试技术的研究。
E、认真仔细地实施测试工作,并提交《测试总结报告》以供项目组参考。
F、进行缺陷跟踪与分析。
(二)角色划分在人力资源有限的情况下,一个团队成员可能会同时承担多个角色。
四、工作流程及规范(一)需求、计划与设计阶段1.需求分析阶段1.产品部搜集、提炼需求信息,形成初步的需求分析文档(FRS),发送给开发部门经理、项目经理、测试部门经理,及相关的开发人员和测试人员审阅。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
谈项目管理和软件测试过程1. 软件测试在公司的组织保障是基础1.1 研发部组织结构介绍以华友公司研发部的组织结构为例,测试部门属于研发部副总裁直接管理,公司研发部的组织结构图#FormatImgID_0#对于从事软件研发的组织来说,工作类型至少包括项目管理、产品设计、编码、测试、质量保证和软件配置管理,以及其它人员,如文档编制人员和美工人员/系统硬件管理人员等。
根据职能需要,可以以半独立方式进行部门和项目的矩阵管理,即职员要对项目经理/组长负责,也要对部门经理/总监负责,工作考核由双方共同完成,标准的组织应包括技术开发部/组(主要是编码和设计人员),产品开发部/组(产品需求和项目管理),测试部/组,配置管理部/组(因为配置管理人员基本上是按20个技术人员配一个配置管理人员,所以一般部门规模较小,或者只是配置管理组),软件质量保障部/组,其它部/组(如系统/文档/美工等)。
华友公司组织结构中,研发部是公司软件研发的核心部门产品研发Ⅰ部、Ⅱ部、和应用研发部主要负责:与软件产品部或内容产品部配合,协助完成内容产品的可行性、合理性分析;平台、网关、应用产品的研发项目的立项和方案评审;研发项目的概要设计、详细设计工作;研发项目的编码、单元测试工作;组织公司相关部门进行研发产品的培训;协助相关部门做好产品的售前技术支持工作;协助相关部门进行软件的安装与调试;根据相关部门的要求做好产品的售后服务工作,保障软件的运行正常。
测试部隶属研发部,主要职责如下:与内容产品部和软件产品部配合完成软件需求分析讨论,并根据需求说明书制订《项目测试方案》,编写《测试用例》,建立测试环境;负责完成研发部各开发组研发的软件产品开发过程和投入运营之前的新增软件和修改升级软件的模块测试和系统测试;建立、推广并维护实施软件版本管理系统CVS和VSS;使用并维护软件缺陷管理系统Bugzilla,负责软件问题解决过程跟踪记录;负责推广实施软件开发文档规范化工作,管理研发产品相关文档;负责配合软件运维部门等对于新业务软件或修改升级业务软件的上线测试工作,并提供上线测试报告;负责监督软件开发流程的执行,并负责提出软件开发过程改进建议,提高软件产品质量。
1.2 软件产品研发各部门的组织结构分解1)华友公司从2003年10月开始,对项目组制订明确指标的独立考核,各开发部门是技术总监带队,再细分各项目经理具体负责项目计划和执行,对项目具体开发成员进行分工。
对于测试部门制订年度测试部门任务计划/考核表,如SMS业务销售额指标完成:目标1:9900万(奖金提取比例为0.01%);目标2:16800万(奖金提取比例为0.02%);目标3:23200万(奖金提取比例为0.03%)详细给出财务目标和业务运营目标。
在每周的开发经理工作会议上交流报告任务进展情况,并提出最近测试需求,测试部门经理负责制订测试计划、测试用例和测试实施方案,安排测试工程师与对应的开发人员交流完成测试执行工作。
测试部经理负责开发流程管理和人力资源、测试用软硬件资源调配,需要与研发之外的部门定期交流掌握下周或近期可能测试任务,所有其他外部接口都由测试部经理负责完成,与其他项目组和产品部门协调项目进度。
2) 工作汇报关系为:开发部门:Team Member->Team Leader->研发总监->研发部副总裁->总裁。
测试部门:测试工程师->测试小组经理->测试部经理/总监->研发部副总裁->总裁。
3)项目成员结构:公司通常的开发项目组为6到8个开发人员,最多不超过10人。
华友公司的经过三次改造后的组织结构和项目组结构,各个业务部门分类非常细,任务明确,软件开发的每一个步骤都有专门的部门、专门的人员负责,从最基础的开发人员到负责统领全局的总监和副总裁,层层管理,沟通渠道畅通。
而在软件测试上,由于有限的测试资源,首先体现在公司的组织结构上,集中表现为测试部门不得不面对公司级管理部门的缺失和管理的交叉上,没有质量管理部门,部门质量管理工作测试部门兼做。
公司从成本角度考虑,测试部门规模较小,测试人员总数不超过10人,几乎每个测试人员接收处理10个开发人员的测试任务需求。
从实际情况出发,首先明确测试部门和软件开发部门相对独立的组织关系,保证测试人员的工作不受开发小组的控制,实现测试客观、公证。
华友公司要想有效地保障产品质量,首先就要在构架合理的组织结构和测试流程上下功夫,这就如同盖高楼首先要打好地基一样,地基不打牢,结构和流程不合理,其他方面再下功夫也是徒劳。
从实践经验看,一年前首先成立测试部,把属于开发部门的测试工程师归口到独立的测试部门管理,其次建立规范的测试流程,与开发部门交流,要求每周提出测试需求,再根据现有的资源制订每周测试计划,同时向人力资源部门提出招聘计划,随着测试工作的成绩不断被开发部门和上级领导认可,再推广实施软件开发过程规范化的管理,通过测试实践的优良成绩来确立测试部门在公司的地位和作用,经过一年的奋斗测试部门从无到有,从最初两人到现在十人,软件配置管理和缺陷跟踪系统已经被60%的开发人员自愿使用和接收。
总结本人在华友一年多测试工作经验,深深体会到在国内从事软件项目开发难、从事软件测试和质量保证工作更难,需要具备扎实的技术功底同时,不断提高测试项目管理能力,寻找工作的突破口。
世上无难事,只怕有心人,但是只要你努力献身于软件测试工作,打出一片天地是有可能的。
2.配置管理系统是项目经理的"眼睛",是软件测试有效实施的前提在软件质量体系的诸多支持活动中,配置管理系统处在支持活动的中心位置,它有机地把其它支持活动结合起来,形成一个整体,相互促进,相互影响,有力地保证了质量体系的实施。
建立公司配置管理系统很容易得到公司领导层的支持,几乎没人反对。
更重要的是建立配置管理系统后测试人员的工作有了系统保证,测试工作的"矿藏资源"有了明确的位置,可以主动积极开展测试工作。
2.1 项目管理存在的主要问题华友公司测试部门去年刚成立时,以建立、规范和推广使用配置管理系统CVS为突破口,同时建立缺陷跟踪系统Bugzilla提高测试流程的管理水平。
我做为测试负责人首先分析华友公司几个软件项目在开发管理上的现状,。
存在问题一、公司几个核心项目仍然过分分依赖少数个人的作用,没有建立起协同作战的氛围,没有科学的软件配置管理流程; 技术上只重视系统和数据库、开发工具的选择,而忽视配置管理工具的选择,导致即使有些项目有配置管理的规程,也由于可操作性差而搁浅。
以上种种原因导致开发过程中普遍存在如下一些问题: 调查说明华友研发成员的变动的比率达到30%,几乎每周都有新加入的员工或者辞职人员,一个新成员熟悉项目的最佳途径就是通过配置管理系统阅读项目文档,甚至阅读同行代码,达到快速学习、共同提高的目的。
一个辞职人员可以利用配置管理系统保留部分一段时间工作,最大程度减少对项目开发造成的损失。
存在问题二、开发管理松散。
领导了解工作完成情况重视口头交流,忽视书面文档。
有些部门主管无法确切得知项目的进展情况,项目经理也不知道各开发人员的具体工作,项目进展随意性很大,可"左"可"右"。
"左"时按领导下达的"期限"进行,到期时,似乎一切已顺利完成,大家一阵胡弄,交差完成,反正领导看的是界面,至于里面是什么,留到施工时再说。
施工时的工作因此变成了无法汇报、无法理清的无休止的维护。
"右"时则项目工期无休止地延期。
对我们软件工程来说,总的特点是先"左"后"右"。
在领导面前表现"左",在用户面前表现"右"。
有个测试人员经常利用上班时间学习英语,过了一个多月,看她依然如此,我做为项目领导进行批评教育,这名员工并不认为自己错了,她争辩,公司采取弹性工作时间,考核员工是分配的任务是否完成等理由。
同时、我对她批评结果遭到她的恶意报复,她给有关领导报告新来的经理如何不懂公司业务,采取不适合公司的管理方式等,由于领导无法了解真相,使得我的工作在一段时间开展很困难,直到过去半年,这名员工辞职出国学习领导才明白发生了什么。
存在问题三、项目之间沟通不够。
各个开发人员各自为政,每个项目经理都像个"地主",编写的代码不仅风格各异,而且编码和设计脱节。
每个项目组的人力资源和硬件资源成了"私有财产",自己人员即使暂时空闲,让他从事所谓的新技术研究,也不考虑友邻项目需要他们帮助的现状。
本来开发中错误在所难免, 进展早一点的项目组或者人力资源强的项目组已经积累类似问题的解决经验,也不愿意分享给其它项目组。
开发大量重复, 留下大量难维护的代码。
典型案例是有个短信项目D两年来在这个开发人员Y 的研发支持下运转效益很好,但是三个月之前,开发人员Y因为待遇问题和公司领导谈判失败,提出辞职。
项目D 仍然在运行,但是最近移动公司规范修改、系统升级,需要修改程序,没人能看到及时更新的文档,尽管有一堆代码库,但是后来的程序员都没办法分析明白程序结构。
公司领导出面请开发人员Y来协助,因为没有文档记录,Y忙于新公司的工作也不能解决修改。
存在问题四、文档与程序严重脱节。
软件产品是公司的宝贵财富,代码的重用率是相当高的,如何建好知识库,用好知识库对公司优质高效开发产品,具有重大的影响。
但开发人员的一句名口号是:"叫我干什么都可以,但别叫我看别人的程序"。
当然,开发人员的工作态度要转变,但客观上有一个很重要的原因是:前人留下的程序既无像样的文档(即使留下了文档,其与源程序也严重脱节),开发风格又不统一,就像一堆垃圾,要开发人员到垃圾中去捡破烂,从这个角度上看,开发人员的要求是合理的。
存在问题五、测试工作不规范。
仍然停留在"小姑娘做测试"的底水平上,传统的开发方式中,测试工作只是人们的一种主观愿望,根本无法提出具体的测试要求,加之开发人员的遮丑,测试工作往往是走一走过场,测试结果既无法考核又无法量化,当然就无法对以后的开发工作起指导作用。
存在问题六、虽然项目施工时间不长,但软件版本更新周期过短,几乎每天都修改在线运行系统,且开发人员必须亲自现场或远程登陆操作,全国十几个地点软件内容多少都有点差别,这些差别都记录在几个骨干人物的脑袋里。
由于应用软件的特点,各个不同的施工点有不同的要求,开发人员要手工地保持多份不同的拷贝,即使是相同的问题,但由于在不同地方提出,由不同人解决,其做法也不同,程序的可维护性越来越差。