1. 为什么要讲质量模型?
怎么衡量一个商品的质量?比如:一件衣服,大家评估的标准都是有差异的,每个人侧重点不一样。
ISO(国际标准化组织)经常邀请各国的各领域的专家针对某些领域制定工业级标准。
ISO9126和ISO25010都提到了软件产品的质量模型:这个模型是世界范围内被认可的模型。
2. 质量是什么?
-
质量指的是在特定的使用条件下产品满足明示的和隐含的需求所明确具备能力的全部固有特性(内在特性),体现了产品满足产品要求的程度(外部表现)。
-
特性或能力:内部质量,需要满足特定使用条件的各种需求。
-
外部质量:内部特性的一种呈现,内部特性决定了外部质量。
-
因此,质量就是产品所具有的内部特性或能力。
3. 质量模型有什么用?
-
质量模型定义了软件产品必须具备的相关内部特性以及每个类型所必须具备的属性。
-
要评估一款软件产品的质量是否符合需求,就可以依据质量模型来进行。
4. 质量模型怎么指导测试工作?
例如:考勤软件,公司内部有30个员工,每天早上9点,下午6点用来考勤。根据软件产品的使用场景、领域特性、用户特性来选择需要满足的质量特性。
5. 质量的概念
1、所有的从事软件生产的都要关注和重视软件质量,包括软件分析人员、设计人员、开发人员、测试人员、维护人员。质量就是就是把客户的质量要求转化为设计参数,形式预期的产品,最终生产出低成本并且稳定可靠的产品。
2、ISO关于质量的定义如下:
一个实体的所有特性,基于这些特性可以满足明显的或隐含的需求,而质量就是实体基于这些实体特性满足需求的程序。从质量的定义来看,可以引申出三个不同层次的软件质量:
(1)符合需求规格,符合开发者明确定义的目标,即产品是不是在让做它做的事情。目标是开发者定义的,并且是可以验证的。
(2)符合用户显式需求的,符合用户所明确说明的目标。目标是客户所定义的,符合目标即判断我们是不是在做我们需要做的事。
(3)符合用户实际需求,实际的需求包括用户明确说明的和隐含的需求。
我们对用户的显式或隐式的需求,作分析,整理出需求分析、概要设计、详细设计、代码设计、然后做单元测试、集成测试、系统测试。最终用户的体验是包含我们是否满足了用户提出的隐式和显式需求的。影响软件质量的因素
流程、技术、组织这三个因素是影响软件质量的的铁三角,软件质量的提高是一个综合因素,需要从各方面进行改进,同时还需要兼顾成本和进度。
六、流程
为了完成某个任务而进行一系列的相关联的活动,将最终的目标(进度、成本、质量)分解到各个活动中去,使得不可见的生产过程可视化,提高工作效率。
软件生产流程:计划→分析→设计(概要设计、详细设计)→实现(编码)→测试→运行→维护。对于测试人员来讲,要清楚哪些相关软件工作的流程:
· 软件开发的流程,需求分析、概要设计、详细设计、编码、测试、交付、验收、运行、维护。
· 测试流程,单元测试流程、集成测试流程、系统测试流程,并且每个流程中都会有相应的计划、设计、实现、执行。除此之外,我们还需要了解配置管理流程、需求管理流程、同行评审流程。
· 影响流程的因素:各个活动中的角色、时间因素、步骤、相关规范、方法。但严格按照流程执行,并不一定能生产出好的产品。所以,还需要其他的手段来提高软件质量。
七、技术
在技术这块,要了解:
1、开发技术,包括分析技术、设计技术、编码技术(编程语言:C语言、Java、Python;数据库技术:MySQL、Oracle、SQLserver、DB2)。
2、测试技术,白盒测试技术、黑盒测试技术、自动化测试技术、测试分析技术、测试设计技术
3、工艺结构技术,就是说产品的工艺设计,比如说苹果系列的产品,都说做工是一流的。
4、现有的技术,技术的积累:
现有的代码库。
测试案例库。
缺陷。
问题的解决方案。
专利。
还需要将技术和流程相结合起来。除了技术和流程的有效结合,还需要有效的组织管理。
八、组织
组织不力,会间接影响软件质量。我们要通过组织制定相关流程,然后要有严格监督,还需要不断的优化流程与技术,另外还包括引进技术(技术本身、技术人员),技术沉淀、储备。在质量管理的不断发展过程中,经历了三个阶段。
1. 第一阶段,检验质量管理(19世纪末-20世纪初):专门的质量检验部门和人员。以事后检验为主。产品都生产好了,你再检查,为时已晚,检查出来不合格的产品都将沦为废品。那么怎么提高良品率呢,质量管理的发展来到了第二阶段。
2. 第二阶段,统计质量控制(20世纪40年代-20世纪.60年代):
强调统计方法,基于数学上的统计。通过历史数据得出规律,指导将来的项目。
根据这些数据以及某些规律,发现质量问题不是在某一个环节出了问题,更多的出现在整个产品的生产周期内。而此时质量管理发展到了第三阶段。3. 第三阶段,全面质量管理阶段(TOM,Total Quality Management):将质量控制扩展到产品生命周期全过程,强调全体员工参与质量把控。
TQM代表人物:
· 克劳斯比(Crosby):美国质量之父,著名理论,ZD(Zero Defect)零缺陷。
· 可维护性的依从性(Maintainability comps_ance):软件产品与进护相天的标准或为正的能力(如软件出现故障时会弹出“xxx遇到问题要关闭”之类的提示)