质量管理体系 CMMI 黑盒测试和白盒测试 兼容性测试执行
1 质量管理体系 CMMI
1.1 宗旨和特点
帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算的开发出高质量的软件
CMMI主要关注点就是成本效益、明确重点、过程集中和灵活性
这个是企业提出申请。
1.2 CMMI的价值
第一、 保证软件开发的质量与进度,对“杂乱无章”的项目开发过程进行规范
第二、 利于成本控制,因为质量有所保证,浪费在修改、解决客户的抱怨方面的成本会降低很多
第三、 有助于提高软件开发者的职业素养,每一个具体与其中的员工,无论角色如何,做事方法逐渐变得标准化,规范化
第四、 能够解决人员流动所带来的问题。公司通过过程改造,建立了财富库以共享经验,而不是单纯的依靠某些人员
第五、 有利于提升公司和员工绩效管理水平,一持续改进效益,通过度量和分析开发过程和产品,建立公司的效益指标
1.3 CMMI等级的划分
初始级(Initial):过程不可预测,控制差,反应式的
已管理级(Managed):过程为项目而制定而且经常是反应式的
已定义级(Defined):过程为组织而定
量管理级(QuantitativelyManged):过程得到测量和控制
持续优化级(Optimizing):关注过程改进
初始级和已管理级不用申请认证,认证从第三级认证
1.4 质量保证
QA (质量保证)(多时候是产品经理担任)
过程评审和产品审计,过程指导,过程度量和过程改进等
具备必要得资质得QA是组织中得高级人才需要全面掌握组织得过程定义,熟悉所参与项目所用的工程技术
QC (质量控制)
产品质量控制,主要有从材料进货IQC、生产过程IPQC、出货OQC等
包括软件测试设计员等高级人才,也包括一般的测试员等中、初级人才
QM (质量管理)
确定质量方针、目标和职责,并在质量体系中通过诸如质量策划、质量控制、质量保证和质量改进,使其实施的全部管理职能活动
不仅要具备QA,QC的技能,还需具备专业管理才能
回滚测试
就是用上个版本的代码和下个版本的数据库,回滚测试在回归测试以后
1.5软件测试的分类
软件测试阶段的分类
可分为单元,集成,系统,验收测试
按测试实施组织分类
可分为开发测试,户测试、第三方测试。
安装测试是否关心内部测试分内
可分为白盒测试,灰盒测试,黑盒测试
按照测试执行分类
可分为静态测试和动态测试
静态测试和动态测试
1.5 静态测试和动态测试
不运行程序,仅通过分析或检查等其他手段达到检查目的(一般不会)
通过运行被测程序检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能
2 黑盒测试和白盒测试
2.1 白盒测试与黑盒测试的区别
是否关注内部逻辑:白盒关注,黑盒不关注
白盒测试一般在单元测试阶段介入,此时软件并没有完成开发
黑盒测试一般在系统测试阶段做,此时的软件已经完成开发了
白盒测试发现去恶恶小能力更强
白盒介入时间更早(如果是敏捷开发,白盒一般是开发人员做
灰盒测试:介入白盒测试与黑盒测试之间,软件可能已经接近开发完成,一般在集成测试阶段做,或者是接口测试阶段进行
黑盒测试 | 白盒测试 | |
---|---|---|
测试依据 | 程序内部结构 | 软件规格说明 |
优点 | 能对程序内部特定的部位进行覆盖 | 白盒测试发现缺陷的能力更强,白盒介入时间点更早 |
缺点 | (1)无法对未实现规格说明的程序部分进行测试 | (1)不能测试程序内部特定部位 (2)发现不了规格说明错误或程序超出 (3)发现错误能力不强 |
2.2软件测试的阶段详解
2.2.1单元测试(Unit Test)
单元测试是依据详细设计对软件基本组成单元进行测试,主要是为了发现单元内部可能存在的错误或不足
静态检查(详细测试)和动态执行(白盒为主)
2.2.2 集成测试
在单元测试的基础上,将所有模块按照概要设计要求组装成为子系统或系统所进行的测试
静态检查(详细测试)和动态执行(白盒为主)
关注重点
最小单元A+最小单元B。。。。==模块M
模块接口的数据交换
单个模块的误差是否会积累放大
2.2.3 系统测试
将整个应用程序,与计算机硬件,支持软件,苏剧等其他系统元素结构结合在一起,在实际运行环境下所进行的一系列测试活动
验证软件系统的功能和性能等满足其规定所指的要求
静态检查(sas)+动态执行(黑盒测试位置为主)
其他测试类型
2.2.4 回归测试
每当软件发送变化时,就必须重新测试原有的功能,以便确定修改是否达到了预期的目的,检查修改是否损害了原有的正常功能
回归测试需要反复进行
常利用自动测试工具来实现重复的和一致的回归测试
3 系统测试
3.1兼容性测试执行
测试软件是否和其他系统与其他软件之交互的元素之间兼容:如:浏览器,操作系统等。验证测试对象在不同的软件和硬件配置中的运行情况(一般在云平台上)