BTEST 说明
BTEST 是北大青鸟 Aptech 公司经过走访国内大量软件企业测试岗位和人力资源部门、综合国内主要人才招聘媒体的最新招聘数据、分析研究国内外职业教育课程体系后,结合北大青鸟 Aptech 公司多年的 IT 职业教育经验,由国家劳动和社会保障部、北大软件学院、北大软件工程中心,国家重点实验室、北大青鸟集团、印度 Aptech 公司的多位职业教育专家、软件开发专家、项目经理和测试经理共同完成的。 BTest 是国内第一套系统全面的软件测试工程师的职业教育课程,是使用技术与实战训练的完美结合。课程结构图中的各个课程之间的连接线说明了课程之间的技术管理关系。
培训目标:软件测试工程师
通过课程学习,学员能够从事 Windows 和 Linux 环境下单机以及分布式软件的功能测试和性能测试,并获得“软件测试工程师”的职业资格认证。学员能够达到的水平:
1、能够掌握单机、网络环境下多种体系结构软件的测试;
2、能够在 Linux/Windows 平台上,建立多种体系结构(包括数据库)的软件运行和测试环境;
3、能够掌握软件开发技术并能够编写简单应用程序、测试脚本;
4、能够掌握测试流程、缺陷管理流程,并能对测试流程实施监督和处理;
5、能够编写测试计划、设计测试用例、执行测试并填写缺陷报告;
6、能够独立或协助开发人员进行单元测试和白盒测试;
7、能够使用自动化测试工具来进行各种测试。


课程设置
1. 搭建 Windows 测试环境
主要讲解搭建 Windows 测试环境所要具备的软、硬件及网络知识。包括计算机中各种硬件和接口。软件的分类、分发和授权等方式;操作系统的初步知识;注册表、病毒、安全等知识;TCP/IP 协议和 DNS 、活动目录等知识。从而让学员可以在实际工作环境当中搭建一个基于 Windows 活动目录的局域网环境。
2. 使用 C 语言开发简单应用
设置本课程的目的主要是使学员掌握软件开发的技术,掌握编程的方法、思想,了解软件开发过程当中常犯的错误,为后面的测试课程以及编写测试脚本打下语言基础。课程中主要包括 C 语言的语法、程序基本结构、函数、指针、数组、数据结构、算法等程序设计所涉及到的知识。课程注重实用性、重在培养学员对代码分析的能力,掌握编码规范,掌握调试知识和分析程序错误的能力。同时学习内存检查工具和软件配置管理等知识。该课程中贯穿了一个开发“软件测试工程师管理系统”的项目,增加学员开发项目的经验。
3. 测试计划与软件缺陷
本课程是软件测试重点课程。本课程主要介绍软件测试的基本概念和基础知识、如何编写测试计划、识别软件缺陷、编写缺陷报告等。通过学习,学员可以掌握软件测试的流程、软件测试的策略和分类,掌握缺陷的分类和优先级等,从而对测试有一个整体的认识。本课程中介绍了 Bugzilla 缺陷跟踪管理系统(测试工具)。总体来说,本课程将使学员掌握软件测试相关的大部分基础知识。
4. 高效设计测试用例
本课程是软件测试重点课程。本课程主要通过引入的大量案例讲解如何编写测试用例。讲解设计测试用例的技术包括等价类划分、边界值分析、因果图方法、状态图方法、测试大纲等的方法以及正交排列表、测试矩阵等。测试特性包括:功能、性能、兼容性、易用性等。测试对象包括软件功能、GUI 界面、文档测试、安装和卸载测试等。通过本课程,主要是培养学员设计测试用例的视角,在最短的时间内针对功能写出恰当的测试用例。本课程和《测试计划与软件缺陷》课程中贯穿了对“软件测试工程师管理系统”编写测试计划、测试设计和开发,实施测试及测试评估的项目,增加学员软件测试相关经验。
5. 白盒测试
本课程主要讲解白盒测试技术。主要内容包括逻辑驱动覆盖和基本路径覆盖两个方面,在逻辑驱动覆盖中主要介绍了语句覆盖、判定覆盖、条件覆盖、判定 / 条件覆盖、条件组合覆盖、路径覆盖和循环语句覆盖;在基本路径覆盖中介绍了绘制控制流图及程序复杂性相关概念,最后重点介绍了单元测试技术。通过学习,学员可以了解白盒测试的理论,组织方式,已经如何评估一个白盒测试的效果。本课程中介绍了 Logiscope 和 C++ Test 两个白盒测试工具。
6. Linux 与网络应用环境
本课程主要讲解搭建 Linux 测试环境所应具备的知识。通过学习 Linux 的安装和配置、 Linux 常用命令、 Linux 下软件安装、卸载和使用、常见的 Linux 的服务(Apache、Mysql、Squid、Iptables 等)、Linux 软件开发环境等,让学员能够使用 Linux 实现一个提供常见服务的网络环境。本课程中在前期通过在 Linux 当中搭建 Bugzilla 缺陷跟踪管理系统来讲解 Linux 的使用和配置。
7. WEB 技术与数据库
本课程通过对数据库、HTML、XML、HTTP、J2EE、.NET 等基础知识的讲解,让学员掌握这些技术,以便于建立分布式软件的测试环境。数据库是以 SQL Server 作为重点讲解,同时也介绍了 Oracle 和 MySQL 数据库。
8. 高效使用自动测试工具
本课程主要介绍了国际测试工具占有率最高的 MI 的三大测试工具:功能测试工具 QuickTest Professional 、性能测试工具 LoadRunner 、测试管理工具 TestDirector 。学员掌握这些流行的测试工具,从而进一步提高测试的效率。
9. 软件测试实训
本课程是最后一门课程,该课程主要是通过运用前面所学习的课程,指导学员完成一个项目的测试过程,从而巩固所学知识。在该课程中将完成分组分工、编写测试计划、写工作日志和开例会、设计测试用例、执行测试、填写和处理缺陷报告的过程。使用的项目通过三个版本来进行回归测试,通过分工与合作来完成测试工作,通过讲师和学员分别模拟测试组成员角色,锻炼学员实践的能力。该项目是一个百万行代码级别的类 Office 系统。
10. 职业导向训练
对学员进行职业引导,包括就业指导和职前引导。通过就业指导以及就业专员、就业明星与学员的座谈会等日常辅助训练明确就业方向,进一步了解就业形式。详细介绍如何写简历,通过强化面试训练,以及模拟面试等方式,提升学员应对面试的能力。
教学方法
BTEST 软件测试工程师课程基于建立一个内容充实的职业技能培训体系,采用全新的“场景教学法”,以真实工作场景为核心,利用项目导向的角色模拟方式,规范并系统地培养专业技术人才,构架非技术人员进入软件测试专业领域的桥梁、构架不同专业技术人员之间互相转换的桥梁,从实际工作内容出发,确定各阶段的培养目标、项目实战内容和培训课程内容。
以实际应用场景为核心、提倡“以用为本、学以致用”的教学方法:以工程经验为指导,强化实战技能,辅以实际企业测试项目,使用角色模拟的方式,通过逐步深入的六步教学法展开整个教学过程。
工作场景:针对企业实际工作流程和工作场景,结合已经实际投入使用的软件项目的测试资料和软件代码,进行项目分析和任务分解,重现在企业中进行软件测试工作的任务环境。
项目主导:所有知识点和技能都是通过一个或者几个项目来组织的,学生通过可扩展的项目案例来逐步学习知识和技能;所有的实践都是项目中的一个实际任务,学员通过实践可具备完成一种任务的能力。
角色模拟:学员在实际动手操作的课程和项目实训过程中,使用真实的企业项目,真实地企业工作流程和工具,模拟项目组中各种角色,协同完成项目和任务,体验和掌握各种角色的工作技能和工作经验。
任务分解:在为完成整个项目而必须掌握的概念和知识环节的讲解上,将整个项目划分为多个子任务,再分析每个任务需要的知识、技能、素质要求,并通过完成任务的形式来组织学习内容、设计课程体系。
六步教学:知识和技能的传授和自学都是从具体到抽象、从特殊到一般,按照以下6个步骤来组织的:提出问题、分析问题、解决问题、总结出一般规律和知识/技能、扩展知识/技能、解决更高级的类似问题。
项目经验:通过对企业实际工作场景的模拟和实际测试项目的训练,积累实际的项目经验,熟悉项目测试过程中常见的技术、流程、人员协作问题,并掌握相关的解决方法。
职业素质:通过上机操作、项目实践、课堂研讨、在线学习,以及职业素质训练,学员能够从任务目标设定、个人时间管理、团队协作和沟通、冲突和情绪处理等方面,得到测试工程师岗位所需要的职业素质训练。
团队协作:在授课过程中,学员将被划分为几个团队,每个团队将根据课程内容和讲师的安排,通过技术研讨、实际操作等手段,合作完成一个任务和项目。
动手能力:为了使学员的知识面和思路有所扩展,鼓励学员自己动手,通过实际操作课程中的实验和进行项目演练,培养学员举一反三的能力,从而帮助学员掌握重点技术的应用,为日后完成更大的项目积累经验。
学习能力:通过项目训练、上机操作、在线学习和讨论,使学员养成自学的习惯,并掌握自学的有效方法和工具。