如果你不能正常浏览此邮件,请点击这里
尊敬的阁下:
      本课程属于软件自动化测试的高级课程,课程目标是让学员学会独立的开发自动化测试,而不仅仅是简单的使用第三方自动化测试软件做测试。通过对软件测试自动化的介绍及各种应用的讲解让学员了解软件测试自动化的基本概念和基础知识,软件测试自动化的需求分析,设计和具体实施的过程。掌握怎样开发单元测试,集成测试和系统与回归测试自动化软件,怎样开发安全测试,压力测试,全球化测试,本地化测试,性能测试的自动化软件。怎样设计自动化测试的架构。怎样用UIA来开发自动化测试,怎样开发一般API程序的自动化测试软件,怎样开发GUI程序的自动化测试软件,及怎样利用Spec Explorer开发Model Based测试自动化。怎样有效的管理自动化测试和架构。
      本课程在上一次培训后学员反馈的基础上,增加了课程的广度和深度,结合国内软件测试的具体情况,加入了许多具体的案例,使学员不仅能领会软件测试自动化的基础知识,并且通过具体的案例了解自动化测试的具体实施。
麦思博(msup)有限公司 敬邀!
顾问专家
      Paladim Sang
曾任微软总部资深软件测试开发工程师
      具有近十年的软件开发与测试经验,曾是微软Windows开发团队的测试专家。负责过Windows XP,Windows Vista,Windows Server 2003,Windows Server 2008, Windows 7 等多种产品的测试项目, 负责测试计划,架构设计和测试自动化开发. 加入微软前,曾任职于朗迅贝尔实验室,从事3G移动通信的开发与研究,并获得相关奖项。深入了解不同平台和语言的IS95/CDMA2000,EVDO软件开发和测试。在近十年的软件开发和测试中对移动通信,计算机网络,电信接入设备, 图像处理与压缩,嵌入式操作系统,WI-FI软件,信息安全领域不仅有较深入的理论研究,在国际顶级刊物上发表数篇文章,而且积累了丰富的项目实施,架构设计方面的一手的实践经验。
课程收益
谁能受益于本课程:软件开发和测试人员、技术总监、软件管理经理
本课程通过对软件测试自动化的介绍及各种应用的讲解达到以下学习目标:
- 了解软件测试自动化立项的判断和准备工作
- 了解软件测试自动化的需求分析, 设计和实施的过程
- 掌握怎样开发单元测试, 集成测试和系统与回归测试自动化软件
- 掌握怎样开发Fuzz和Stress测试自动化软件来提高软件安全性和可靠性
- 掌握怎样开发全球化测试, 本地化测试, 性能测试的自动化软件
- 掌握怎样开发一般API程序的自动化测试软件
- 掌握怎样开发GUI程序的自动化测试软件
- 掌握怎样利用UIA实现自动化测试
- 掌握怎样利用支撑工具让自动化测试更容易发现bug
- 掌握怎样利用工具Spec Explorer开发Model Based测试自动化, 从而大幅度提高测试效率
授课安排
 
时间
课题
简述
Day1
Topic 1 软件测试自动化的准备
- 决定是否自动化的依据
- 自动化测试的流程:一个案例
- It is Team Work!
- 一个完整的自动化测试包
- 什么是软件测试自动
- 好的自动化测试是什么样的
本章节通过对一个典型的手工测试过程分析,讲解自动化工作可以从哪些方面入手,什么样的自动化测试才是一个完全的自动化测试。作为项目负责人或相关人员当考虑是否要采用自动化或者要自动化到什么程度时, 判断的依据是什么?另外以一个案例讲解自动化测试的一般过程, 给学员以概念:自动化的测试是什么样子的, 一个完整的软件测试自动化应包括哪些,判断一个自动化测试好坏的依据是什么。
Topic 2 单元测试的自动化设计
- 单元测试的基本理念
- 如何进行单元测试
- VSTS 的讲解
- VSTS和单元测试
- 单元测试和开发成本
- 测试驱动开发

单元测试能够尽早的发现bug。问题越早发现,开发代价越小。本章节全面讲解单元测试的基本理念和方法.并详细的介绍微软VSTS系统。 让学员能够使用VSTS系统开发单元测试。

Topic 3功能测试的自动化实现和结构设计
- 自动化测试的架构和数据驱动
- 集成测试和系统测试的自动化设计
- 自动化设计的案例分析
- 自动化测试的架构设计
好的架构是设计好自动化测试体系的基础;好的测试数据有助于找准测试用力。 通过一个案例详细讲解集成测试和系统测试的自动化设计和架构设计。
Topic 4 软件测试中各种测试的自动化
- 软件中的安全问题和稳定性问题讲解
- 自动化测试中的Fuzz和Stress测试
- 为什么Fuzz测试容易发现安全问题
- Fuzz和Stress测试的设计
- Fuzz测试的两个重要点
- 何时需要Fuzz和Stress自动化测试
- 全球化测试和本地化测试的自动化设计
- 性能测试的自动化设计
本章节全面详细的介绍软件测试中各种测试的自动化实现。以具体的例子贯穿始终。另外,以软件安全中常见的buffer overrun着手,通过挖出内存中call stack和分析常见的引起安全问题的代码,介绍了为什么需要fuzz 和stress 测试。结合案例详细的介绍怎么设计和实现Fuzz和Stress测试。并且结合本人实际的工作经验,介绍了fuzz测试中的两个关键点。并详细讨论全球化测试,本地化测试,性能测试的自动化设计。
Topic 5用C#实现软件测试自动化
- 为什么C#适合开发自动化测试软件
- 用C#实现一般的API和GUI测试
- 利用Reflection 实现自动化测试
- 自动化测试中delegation的应用
本章节用代码示例讲解怎样用C#开发自动化测试软件,用C#实现一般的API和GUI测试。另外介绍对软件测试自动化很有用的两个概念,并用代码示例演示怎样利用它们实现自动化测试。所有示例现场编译运行,让听众顿然觉得自己从零开始写自动化测试并不是高不可攀的。如果你在使用不同的平台和语言(像Java)也可以同样从中受益,因为这里的很多思想是相通的。
时间
课题
简述
Day2
Topic 6 UI Automation
- Microsoft UI Automation(UIA) 基本知识讲解
- UI Automation中的Tree, Control Patterns, Properties, Event and Security
- 怎样用UI Automation来实现UI 测试自动化
- 用UI Automation实现自动化测试的一个例子
Microsoft UI Automation(UIA)作为新的架构,应用越来越广泛。它提供了可编程的访问绝大部分UI 窗口元素功能。非常适合软件测试自动化的实现。本章节讲解UI Automation中的基本概念,有重点讲述怎样用UI Automation来实现UI 测试自动化,并用实际的代码示例让学员掌握实际应用的能力。
Topic 7 自动化测试的工具
- Record and playback 工具
- 市面上自动化测试工具的局限性
- 自己开发的必要性和可能性
- 自动化测试的支撑工具, 调试工具, application verifier & Driver verifier, 虚拟工具

本章节介绍常用的自动化测试工具。 首先从两个大的分类介绍自动化常用工具Record and playback 工具和自动化测试所需的支撑工具。 我们的目标是让学员摆脱仅仅依靠测试工具来实现简单的自动化测试, 从而能够自己设计和实现自动化测试。另外, 介绍一些测试支撑工具,能够更容易的发现,重现和分析bug, 能够提高测试自动化的程度和效率。

Topic 8 Model based 自动化测试设计
- 什么是model based 测试
- Model Based能做 什么测试
- Spec Explorer工具
- Spec#语言
- Model based自动化测试的具体步骤
Model based测试设计应用领域相当广泛。如果掌握可以很快的提高自动化设计的过程。本章节讲解微软的一个软件自动化测试的工具SpecExsplore。通过一个实际的例子让学员学会model based自动化测试的具体步骤。请注意,Spec Explorer不是图形界面测试的record and  play工具。
Topic 9 自动化测试的管理
- Test Cases 的管理
- 自动化测试架构的维护和管理
- Bug tracking
-自动化测试中bug重现
本章节介绍怎样管理和维护自动化测试。从两个方面着手;test case的管理和架构的维护管理。另外,测试中发现的bug怎样重现和track至关重要,因为它直接关系到测试的好坏。
Topic 10经验分
- 测试文化
- 怎样才能做一个好的测试人员
- 测试人员的职业规划
- 测试中明天的问题今天解决
将从自身的经验出发, 讨论怎样才能做一个好的测试人员,或作为管理人员怎样评估测试工作的绩效。测试人员怎样规划自己的职业发展。 怎样去解决测试中明天的问题。
    参训信息
报名咨询热线:400 812 8020
. 深圳:2009年12月17-18日(报名)
.活动费用:5800元
.网 址:www.msup.com.cn
    msup近期培训咨询
.品牌荣誉课程
.软件工程管理
.职业发展路线
.软件开发者路线
    客户案例