软件工程 CMM/CMMI 自主产品 代理产品 NECO博士 关于海杰
 


软件需求管理
软件架构中的设计和评估
测试管理与技术
软件开发中的项目管理
配置管理咨询
软件工程
UML高级应用培训
同行评审
质量保证咨询
产品与过程度量
内部审计服务
顾问师简历

 

 
测试管理与技术咨询

美国质量保证研究所对软件测试的研究结果表明:越早发现软件中存在的问题,开发费用就越低;在编码后修改软件缺陷的成本是编码前的10倍,在产品交付后修改软件缺陷的成本是交付前的10倍;软件质量越高,软件发布后的维护费用越低。

建立软件测试管理体系的主要目的就是确保软件测试在软件质量保证中发挥应有的关键作用:软件产品的监视和测量,对不符合要求的产品的识别和控制,产品设计和开发的验证,软件测试过程的监视和测量。

海杰的顾问团队将凭借丰富的实践经验为客户提供在测试规划、测试设计、测试实施、测试的配置管理、测试人员的培养和测试管理等方面的咨询服务,根据客户的具体情况,为客户定制提供测试基础、测试技术、测试管理、自动化测试、缺陷管理、测试度量分析等方面的培训、咨询、实施方面的服务。我们拥有丰富实践经验的测试专家,可以帮助企业量身订制合理的测试体系,更好的实现产品的质量控制机制。

同时,我们还向适宜的企业推荐“正交缺陷分类”分析方法,通过这种介于定性和定量之间的缺陷分析手段,为客户提供更合理的过程改进措施。

正交缺陷分类(ODC)

ODC技术,英文全称Orthogonal Defect Classification,译作“正交缺陷分类”,是一种介于定性和定量之间的分析方法。其基本过程是,首先将缺陷按其不同属性分别归入正交的类别中,然后对分类后的缺陷进行定量分析,从中得出过程改进措施。

ODC概念由IBM T.J.Watson Research Center的Ram Chillarege博士等人于1990年提出。提出ODC概念以后,该研究中心又用了7年的时间研究和完善这项技术,直到1997年才基本完成ODC理论体系的建设。1998年以后,IBM公司开始在其全球24个研发分支机构推广应用这项技术,取得了很好的经济效益。根据实践,ODC技术的成本只有根本原因分析(Root Cause Analysis,RCA)方法的十分之一,而且产生的控制措施可按优先级排序,因而可以大量节约质量管理成本和有效指导改进开发和测试过程。IBM公司自推广该项技术以来共获得效益2.5亿美元,目前每年仍从此项技术获得1亿美元的回报。北方电信、摩托罗拉等也都引进了ODC技术,反映也都很好。

ODC技术将每一个缺陷按不同维度进行分类。当缺陷数量较多时,也可以对缺陷进行抽样分析。目前ODC技术的主要维度包括发现问题的活动(分为8类)、触发因素(分为36类)、结果影响(分为13类)、问题根源对象(分为6类)、缺陷类型(分为39类)、缺陷界定(分为3类)、责任来源(分为5类)、缺陷年龄(分为4类)等8个,共114类。根据大量缺陷分类后产生的各类缺陷的统计数字,结合缺陷定位信息(所属子系统、模块、特性)进行多维度正交分析,我们就能准确确定产品主要质量问题区域,识别缺陷引入和去除过程的重点改进对象,实现对过程和产品的精确改进指导。将传统度量手段和ODC技术相结合,我们就能实现对过程和产品的宏观评估和微观解剖。

ODC技术目前已在应用程序、网络、中间件、微代码、操作系统、机器人等领域得到广泛应用。它可以帮助确定和调整缺陷去除策略、帮助确定和调整缺陷预防策略、引导测试设计、给开发人员提供反馈、用于产品系统结构评估、过程分析、维护成本管理。它的最大优点,是不依赖于过程,对过程不规范性的抗干扰能力强,因而特别适用于过程稳定性不高、有些过程还没有定义清楚、或者是定义清楚了但还没有得到规范执行的情况。

课程名称
软件测试系列课程
课程简介
软件人员怎样在当今激烈竞争的环境下保证自己在有限的开发时间开发的软件符合设计的要求,质量可靠稳定同时便于维护?建立一套完整,高效的软件测试机制是实现这一目标的最主要保障。这要求软件人员,尤其是软件测试人员对如何运用科学手段进行软件测试以保障软件产品的质量有系统性的了解。
培训对象
本课程面向企业IT经理,软件项目经理以及软件技术人员。
培训目标

1. 理解软件测试的思想和原则;
2. 掌握测试方法、测试流程、自动测试工具。

培训内容
1、 基本概念;
2、 测试管理;
3、 单元测试;
4、 可编程逻辑设计中的测试方法和可测试性设计;
5、 各种测试介绍;
6、 测试工具;
7、 案例。
课程大纲


基本概念
软件测试的策略途径
软件测试的发展历史
软件测试的原则
有关软件测试的著名论点和错误理解

测试管理
测试组织
回归测试

单元测试
单元测试——C++test方案
单元测试——Purify Plus方案
单元测试总论
单元测试——RTRT方案
单元测试——单元测试的原则
单元测试实践指导
单元测试——课前问题
单元测试——为什么做单元测试

可编程逻辑设计中的测试方法和可测试性设计\可测试性设计
VLSI数字系统可测性三要素
VLSI数字系统可测性度量
VLSI数字逻辑设计中的可测性设计规则介绍

可编程逻辑设计中的测试方法和可测试性设计\JTAG和BIST
用VHDL描述BIST内核
JTAG
BIST(内测试)
逻辑电路的测试
时序电路的测试
JTAG与BIST结合
JTAG用于FPGA的调试-ChipScope

可编程逻辑设计中的测试方法和可测试性设计\适合FPGA的测试方法和可测性设计
XilinxFPGA中边界扫描的使用实例
FPGA的测试方法和可测性设计的经验总结

白盒测试
路径测试法
覆盖率测试法
数据流测试
白盒测试
控制结构测试
黑盒测试
比较测试法
等价类测试 基于决策表的测试

黑盒测试
因果图法
黑盒测试中测试方法的选择
正交实验设计法(课程研发中)
错误推测法
功能图法(课程研发中)
边界值测试

集成测试
高频集成增殖方式
一次性集成
混合增殖式方式
增殖式集成
自顶向下的增殖方式
自底向上的增殖方式
集成测试的目的
联调和集成测试的区别
集成测试同单元测试、系统测试比的特点

系统测试
配置测试
可用性测试
强度测试
启动停止测试
系统测试基本概念
恢复性测试
安全性测试
压力测试
性能测试
可靠性测试
确认测试
确认测试基本概念
有效性测试
软件配置复查
Alpha和Beta测试

Web测试
Web测试介绍
用户界面测试
功能测试测试
接口测试
兼容性测试
负载压力测试
安全性测试
图形显示测试
超连接导航测试

面向对象软件测试
面向对象设计的测试
面向对象编程的测试
面向对象的单元测试
面向对象的集成测试
面向对象的测试用例设计
面向对象的系统测试
面向对象测试模型
面向对象分析的测试

特定环境及应用下的测试
实时系统的测试
客户服务器体系结构的测试
GUI测试

测试工具
测试及Jtest介绍
OptimizeIt性能测试工具应用指南
OptimizeIt使用简介
JUnit讲座
RATIONAL系列工具
PC-LINT
Jtest介绍

测试工具\功能测试工具
Robot及其相关工具应用指南

测试工具\嵌入式软件测试工具
LOGISCOPEC RULE CHECKER使用培训

测试工具\白盒测试工具
Rational Pure coverage

案例
案例——货币转换器
案例——SATM系统
案例——佣金问题
案例——土星牌挡风玻璃雨刷
案例——三角形问题
案例——NextDate函数

总课时
根据客户需要裁剪确定
课程名称
Java语言测试
课程简介
《Java语言测试》介绍Java语言的一般知识和针对该语言的测试方法,并通过案例学习和讨论为学员提供实践机会。
培训对象
本课程面向企业IT经理,软件项目经理以及软件技术人员。
培训目标

1. 理解Java语言测试的思想和原则;
2. 掌握其测试方法、测试流程。

培训内容
1、 Junit精粹;
2、 测试策略;
3、 测试组件。
课程大纲


第一部分:Junit精粹
1 Junit简介
1.1 安装
1.2 一个简单例子
1.3 理解单元测试框架
1.4 设置JUnit
1.5 利用Junit测试
1.6 总结
2 探索Junit 
2.1 探索Junit核心
2.2 用test runners发起测试
2.3 用TestSuite组成测试
2.4 用TestResult连接参数
2.5 用TestListener注意测试结果
2.6 对测试用例起作用
2.7 通过TestCalculator逐步进阶
2.8 总结
3 取样Junit
3.1 介绍controller组件
3.2 让我们测试它!
3.3 测试异常处理
3.4 建立一个为测试的工程
3.5 总结
4 检查软件测试
4.1 单元测试的需求
4.2 不同种类的测试
4.3 决定测试好的程度
4.4 测试驱动开发
4.5 在开发周期中的测试
4.6 总结
5 自动执行Junit
5.1 在生命中的一天
5.2 从Ant中运行测试
5.3 从Maven中运行测试
5.4 从Eclipse中运行测试
5.5 总结

第二部分:测试策略
6 用桩进行粗的测试
6.1 介绍桩
6.2 练习一个HTTP连接的例子
6.3 web服务器的资源的桩
6.4 对连接进行打桩
6.5 总结
7 用mock对象进行隔离测试 7.1 介绍mock对象
7.2 Mock品尝:一个简单例子
7.3 使用mock对象作为一个重构技术
7.4 制作一个HTTP connection的例子
7.5 使用mock作为特洛伊木马
7.6 决定什么时候使用mock对象
7.7 总结
8 用Cactus在容器内进行测试
8.1 单元测试组件的问题
8.2 使用mock对象测试组件
8.3 什么是集成单元测试?
8.4 介绍Cactus
8.5 使用Cactus测试组件
8.6 Cactu怎么工作?
8.7 总结

第三部分:测试组件
9 对servlet 和 filter进行单元测试
9.1 呈现管理应用
9.2 用Cactus写servlet测试
9.3 使用mock对象测试servlet
9.4 使用Cactus写一个filter测试
9.5 什么时候使用Cactus,什么时候使用mock对象
9.6 总结
10 对JSP 和 taglib进行单元测试
10.1 再访管理应用
10.2 什么是JSP单元测试?
10.3 使用Cactus隔离地单元测试一个JSP
10.4 使用Cactus单元测试taglib
10.5 使用mock对象单元测试taglib
10.6 什么时候使用Cactus,什么时候使用mock对象
10.7 总结
11对数据库应用程序进行单元测试
11.1 介绍单元测试数据库
11.2 从数据库中隔离地测试业务逻辑
11.3 从数据库中隔离地测试持续代码
11.4 写数据库集成单元测试
11.5 使用Ant运行Cactus测试
11.6 对构建性能调整
11.7 全面的数据库单元测试策略
11.8 总结
12 对EJB进行单元测试
12.1 定义一个例子EJB应用
12.2 使用一个正面的策略
12.3 使用mock对象单元测试JNDI代码
12.4 单元测试session beans
12.5 使用mock对象来测试消息驱动的beans
12.6 使用mock对象来测试实体beans
12.7 选择正确的mock对象策略
12.8 使用集成单元测试
12.9 使用Junit和远程调用
12.10 使用Cactus
12.11 总结

总课时
2天/12小时
   
  © 2003-2005 深圳市海杰资讯有限公司 版权所有