软件测试与质量管理1(不完整,逐步补充)

上一篇 / 下一篇  2009-01-05 14:47:42 / 个人分类:系统化测试

第1篇          理论篇

1.        质量管理

1)       软件公司生存的三要素:

是否有核心技术

在核心技术的基础上,是否能够开发出不同种类的完整产品

是否对其产品开发及其售后服务进行严格的质量管理

 

核心技术,就是要建立竞争的门槛,竞争者要跨越这个门槛是有一定难度的

核心技术不仅仅是针对技术层面的,有些企业所拥有的核心技术是在过程控制或物流控制方面的,比如戴尔的核心技术就是它的供应链管理

一家软件公司最好能拥有不同类型的产品,用来应付不同客户的需求,最重要的是能够随着市场行情的变化调整销售目标

不重视产品开发和售后服务,除了增加更多的客户服务成本之外,还有修改软件缺陷所耽误的开发时间和成本

2)       质量管理简介与模式

a)        顾客导向模式:认同并满足客户需求,根据以往客户对企业的建议和要求作出改进

b)       标准衡量模式:根据质量管理标准实施质量管理,比如ISO9000;企业必须针对所有生产过程建立文档化的规程并进行管理,并且要经过合格的认证机构审核才能通过

c)       全面质量管理:

是在企业组织文化上的点、线、面各个层次作持续性的质量提高。就定义而言,全面质量管理要求企业内部所有员工将它视为一种信条,并且不断的提高个人及组织的生产过程能力,以满足内部及外部顾客的需求为首要目标。

在解决问题的层面上,TQMTotal Quality Management)采取了符合科学规律的方法,通过环环相扣的安排,在实施过程中确保所有部门的员工都已接受过培训,并且不断的努力提高服务质量,最终达到甚至超过顾客所期望的要求。简单的说,就是TQM创造出一个系统化的管理过程,用来满足客户的需求,并且将过程变成企业文化的一部分,最终达到连续性的质量管理。

d)       选择质量管理模式的考虑方向:8个方向供参考

                        i.             运作方式

                      ii.             员工培训

                     iii.             计划及监控

                    iv.             企业的规模及已成立的时间

                      v.             管理模式改变所造成的影响

                    vi.             授权方式

                   vii.             顾客反应回馈机制

                 viii.             实施成本:一般而言,成本包括3个要素:失败的成本、评估的成本和预防问题发生的成本。

3)       软件质量管理的重要性:

a)        降低维护成本

b)       法律上的要求

c)       市场竞争

d)       质量标准化趋势


2.        软件生命周期简介

1)       软件3NVision(远见)、Mission(任务)、Action(行动)

2)       软件开发生命周期模型:软件开发模型种类繁多,这里只列举7种软件开发模型以供参考。在之前,先了解REDI模型,在系统开发过程中有一定循环的现象为REDI,在REDI的过程结束后,之后的过程就是生产过程;REDI分别是Requirement Determination(调查需求阶段)、Evaluation of Altermatives(评估阶段)、Design Specification(设计阶段)、Implementation(制作阶段)

a)        建构修改循环模型(Build and Fix Model):先推出一个版本给用户,再根据用户的反应作持续的修改,这个修改的过程要持续进行到客户满意后才会告一段落

b)       瀑布式开发模型:从建构修改循环模型演变而来,将开发过程定义为许多不同的阶段,每个阶段的开始及结束也都被清除的定义,各个阶段的转换除了必须进行审查之外,同时也要准备许多的文件;最大的问题是需求变更造成的后续影响较大

c)       增量模型:通俗的说,就是将整个过程分成许多小型的瀑布式开发模型,主要是利用焚化后注意征服的方法将产品需求切割成不同的优先级

d)       V型开发模型:也是改良自传统的瀑布式开发模型,它的重点在于进行确认和审查的步骤;(各阶段的对应关系)

e)        快速原形模型:

f)        螺旋型开发模型:

g)       极限型开发模型(XP):

h)       基本上我们不建议特别采用何种开发模型,因为每种模型都有其优点和缺点;建议采用几种方法互相结合的模型

3)       现实环境的软件开发模型

a)        以功能为基础,比如一些通用软件word

b)       以解决问题为基础,比如ERPCRM,以及一些硬件驱动软件等

c)       在考虑了软件形式之后,介绍两种常见的产品开发方式:

                        i.             自顶向下的方式(top-down approach):也成为框架式开发方式,采用的方法其实就是REDI Model;先调研需求,然后设计功能,最后实现。这种产品在扩展性和稳定性上较好,但开发时间较长,准备工作也较多

                      ii.             自底向上的方式(bottom-up approach):通常使用这种方式是基于市场竞争的考虑,这种方式也称为组合式开发方式,所采用的方法是将目前所拥有的资源和技术进行快速的组合而成为产品。扩展性和稳定性较差,但开发时间较短。


3.        软件质量管理

1)       QAQC有什么不同?都属于质量管理(Quality Management)的一环

QA,质量保证(Quality Assurance)的目标是预防缺陷和错误的发生(Defect Prevention

QC,质量控制(Quality Control)是找出缺陷和错误(Defect Detection

 

2)       质量保证的事务:制定计划(Planning)、需求审查(Requirement Review)、设计审查(Design Review)、程序代码审查(Code Review)测试用例审查(Test Case Review)

质量控制的事务:测试(Testing)、跟踪(Tracking)、监督(Monitoring)

 

3)       审查方法:浏览性审查(Walkthrough)、阅读性审查(Reading)、设立审查机制(Inspection

a)        需求审查

                        i.             是否准备了软件需求文件

                      ii.             所提供的软件需求是否符合客户的需求

                     iii.             所提出的需求在设计上的可行性如何

                    iv.             产品开发完成后是否与软件的需求吻合

b)       设计审查

                        i.             是否准备了软件设计规格文件

                      ii.             其内容是否参考了软件需求

                     iii.             所采用的设计规格是否符合公司的规定

                    iv.             设计内容是否考虑到质量,如稳定性、可扩展性等

                      v.             设计内容是否考虑到将来对客服的支持

c)       程序代码审查

                        i.             编写内容是否符合公司的规定

                      ii.             批注内容是否详细标示

                     iii.             是否参照I18N的规定内容

                    iv.             所编写的内容是否简单易懂

d)       测试用例审查

                        i.             是否准备了软件测试用例文件

                      ii.             内容是否参照软件需求和设计规格文件

                     iii.             所设计的用例是否考虑到测试的深度和广度

                    iv.             设计的用例测试是否可行

                      v.             设计的用例是否可自动化

 


TAG: 系统化测试

 

评分:0

我来说两句

Open Toolbar