刘*连在哪家医院坐诊 https://jbk.39.net/yiyuanfengcai/ys_bjzkbdfyy/793/软件测试技术教学大纲
01
课程性质、任务和目的
《软件测试》是软件工程专业中一门综合性很强的基础课程,该课程从理论、标准、技术和工具等多方面介绍了软件测试,主要内容包括软件测试背景及分类、软件测试模型、软件测试的基础方法、软件测试的整体过程、软件测试活动的组织与管理、敏捷项目测试、面向对象的软件测试、软件测试自动化、缺陷跟踪管理、单元测试工具JUnit、接口测试工具、基于Python的自动化测试、负载测试工具LoadRunner、网上书店系统测试、生活小工具微服务测试和手机视频播放软件测试等。本课程的目的与任务是使学生通过本课程的学习,从软件测试的基础理论知识入手,循序渐进的学习软件测试的各种相关工具应用,并通过引入实际案例的测试过程学习,帮助学生更好的掌握软件测试技能,做到理论与实践相结合,方法与应用相结合。本课程除要求学生掌握软件测试的基础知识和工具使用,包括软件测试的基本概念、相关模型、基础方法、执行过程以及常用的自动化测试工具的使用方法等,重点要求学生学会分析问题的思想和方法,为更深入地学习和今后的实践打下良好的基础。
02
教学内容和基本要求(48学时)
1.软件测试概述与基本概念(2学时)了解软件测试的定义和历史背景,了解软件缺陷的定义和出现原因;了解软件测试的目的和原则;掌握常用的软件测试分类方法,包括按测试阶段分为单元测试、集成测试、确认测试、系统测试和验收测试,按是否需要执行被测试软件分为静态测试和动态测试,按是否需要查看代码分为白盒测试、黑盒测试和灰盒测试等;了解软件测试行业的现状与前景。2.软件测试模型(2学时)了解软件开发的基本过程和常见的软件开发过程模型;了解软件测试的基本流程;了解软件测试过程模型的概念,掌握V模型、W模型、H模型、X模型以及前置测试模型等常用的软件测试过程模型;了解软件测试过程改进模型的概念及典型模型种类。3.软件测试方法(4学时)了解静态测试和动态测试的内容及方法;了解桌面检查、代码审查、走查的概念与区别;掌握模块控制流图的使用方法;了解主动测试与被动测试的区别;了解程序插桩法、逻辑覆盖法、基本路径法等白盒测试方法,掌握语句覆盖、判定覆盖、条件覆盖、条件判定覆盖、条件组合覆盖和路径覆盖等常用覆盖准则;掌握等价类划分法、边界值分析法、因果图法、决策表法、正交试验法和场景法等常用黑盒测试方法。4.软件测试过程(4学时)了解单元测试的定义及原则,了解其内容与过程;掌握函数覆盖、Z路径覆盖、ESTCA覆盖、LCSAJ覆盖和MC/DC覆盖等常用覆盖准则;了解集成测试的定义及内容,掌握基于功能分解的集成测试、基于调用图的集成测试以及基于路径的集成测试方法;了解系统测试的定义及原则,掌握包括功能测试、性能测试、安装测试、压力测试、容量测试、安全性测试、健壮性测试、可用性测试、用户界面测试、文档测试在内的系统测试内容;了解验收测试的内容及过程,掌握α测试、β测试的内容。5.软件测试管理(2学时)了解软件测试项目的基本特性;了解软件测试项目管理的特性和原则;了解软件测试项目的范围管理方法;了解软件测试管理计划的制订和执行过程;了解主要的软件测试文档;了解测试的组织和人员管理机制;了解软件测试的过程管理、配置管理、风险管理和成本管理内容。6.敏捷项目测试(2学时)了解敏捷开发的概念;了解敏捷项目管理中的需求管理、时间管理和质量管理相关内容;了解敏捷测试项目中自动化测试和探索式测试的重要性,了解探索式测试的测试方法。7.面向对象软件测试(2学时)了解面向对象的基本概念,包括抽象、继承、封装、重载、多态等;了解面向对象的对象模型、动态模型和功能模型内容;了解面向对象的单元测试、集成测试、系统测试以及回归测试的策略;了解面向对象软件的测试用例设计的相关内容。8.软件测试自动化(4学时)了解自动化测试的概念、优缺点以及与手动测试的比较;掌握代码分析、捕获/回放、录制/回放、脚本技术等自动化实现的原理和方法;了解自动化测试的生命周期;了解自动化测试的方案选择方法;了解自动化测试工具的分类,了解常用的白盒测试工具、功能测试工具、性能测试工具以及测试管理工具。9.缺陷跟踪管理(2学时)了解缺陷管理的目的和意义;了解缺陷管理工具的分类;了解选择缺陷管理工具需要注意的事项;了解3种缺陷管理工具Redmine、Bugzilla和JIRA的特点和功能。10.JUnit单元测试(2学时)了解JUnit的基础理论知识;了解JUnit框架的组成,包括TestCase、TestSuite、TestRunner、Assert、TestResult、Test和TestListener这7部分;了解JUnit测试过程与测试用例;了解JUnit的安装与集成;了解使用JUnit测试Calculator类的实例11.接口测试工具(2学时)了解接口测试的目的和意义;了解接口测试工具的分类;了解选择接口测试工具需要注意的事项;了解常用接口测试工具SoupUI、Jmeter和Postman的特点和使用方法。12.LoadRunner性能测试(2学时)了解LoadRunner的基本工作流程,使用LoadRunner制定负载测试计划,场景测试脚本,设计运行场景,运行测试并分析结果等。13.基于Python的自动化测试(2学时)了解Selenium的工作原理;了解PageObject页面对象原理;了解Python原生单元测试框架Unittest的测试流程、测试日志的编写和测试报告的生成;了解基于Python的Pytest测试框架的测试流程。14.实验(16学时)教学说明及教学基本要求见《软件测试》实验教学大纲
03
教学方法
本课程教学方法以教师为主导的启发式讲授教学法为主,讨论(提问)式教学为辅,结合课外学习的教学方法。实验以学生动手实验为主,教师的启发式讲授教学法为辅,并结合讨论(提问)式教学,以及结合课外学习的教学方法。1.本课程概念较多,因此教学形式以讲授方式为主。本课程拟采用多媒体PPT的教学方法,增加课堂信息,浅显通俗地对概念、定义和原理进行解释,增加教学的直观性,教学过程中注意各个知识点的关联性,以使学生更好地理解课程内容。2.对课程中关键性概念、设计思想方面的问题可辅以课堂讨论的形式。3.为加强和落实动手能力的培养,每章课后应安排作业,帮助学生学习和应用。
04
课内外教学环节及基本要求
本课程共48个学时,其中理论32个学时,讲授16周(每周2学时);实验16个学时,讲授8周(每周2学时)。课外学习要求:1.做好课前预习,预习时以教材为主,了解相关的概念、定义、原理。预习中认真思考,以便带着问题主动地听课。2.课后要复习,有余力的学生复习时还应阅读参考资料,认真整理课堂听课笔记。3.要求学生课外自主学习,学生课外阅读的参考资料以本大纲所列参考资料为主。
05
考核内容及方式
本课程成绩由平时成绩和期末考核成绩组合而成,课程成绩以百分制计算,分配比例如下:1.平时成绩占30%,主要考查作业的完成程度,理论课和实验课的出勤率,实验课的考试结果。其中作业占10%,实验占15%,出勤率占5%。2.期末成绩占70%,采用考试的考核方式。考试采用闭卷形式,题型为选择题、正确/错误题、填空题、简答题,以及应用题。
06
教学用书
扫描,优惠购书
07
内容简介
本书较为全面、系统地阐述了当前软件测试领域的理论和实践知识,介绍了当前新的软件测试理论、标准、技术和工具。全书共三部分16章。第一部分(第1~7章)包括软件测试概述、软件测试模型、软件测试方法、软件测试过程、软件测试管理、敏捷项目测试、面向对象软件测试;第二部分(第8~13章)包括软件测试自动化、缺陷跟踪管理、JUnit单元测试、接口测试工具、LoadRunner性能测试、基于Python的自动化测试;第三部分(第14~16章)包括网上书店系统测试、生活小工具微服务测试和手机视频播放App测试。每章均有实际案例作为补充,以加深读者对软件测试技术和过程的理解,做到理论与实践相结合。
08
实验教学大纲
教学内容及教学基本要求1.缺陷管理工具的使用(2学时)了解缺陷管理的目的与意义;了解缺陷管理工具的分类;掌握项目管理工具Redmine、缺陷管理工具Bugzilla和问题跟踪工具JIRA的使用。2.JUnit的使用(2学时)了解单元测试工具JUnit的组成和测试过程;了解JUnit的基本功能;了解JUnit的安装与集成方法;掌握JUnit的测试用例编写和使用方式。3.接口测试工具的使用(4学时)了解接口测试工具的分类和选择;掌握SoapUI的使用方式;掌握JMeter的使用方式;掌握Postman的使用方式。4.LoadRunner的使用(2学时)了解LoadRunner的基本功能;了解LoadRunner的主要特性、组件和相关术语;掌握利用LoadRunner进行负载测试的流程与方法。5.网上书店系统测试实例(2学时)了解网站测试的内容;了解网站测试的过程;结合网上书店系统测试实例了解测试计划的安排、测试用例的设计以及测试结果的记录和分析等内容。6.生活小工具微服务测试实例(2学时)了解微服务架构的发展;了解微服务架构的优缺点;了解接口测试的流程;结合生活小工具微服务测试实例了解用Postman做功能测试,利用JMeter做压力测试的过程。7.手机视频播放APP测试实例(2学时)了解手机软件测试与PC软件测试的异同;了解手机软件测试的基本过程;了解现行的几大手机平台及其特点;结合手机视频播放APP测试实例了解手机软件测试如何执行,包括软件的测试计划到测试用例的制定,再到测试过程的描述,最后到测试结果的统计。
09
配套视频演示
10
目录
上下滚动查看↓
第一部分理论基础
第1章软件测试概述
1.1软件测试的背景介绍
1.1.1著名软件错误案例
1.1.2软件的定义及分类方法
1.1.3软件工程
1.1.4软件质量
1.2软件测试的基本概念
1.2.1软件缺陷的定义
1.2.2软件缺陷出现的原因
1.2.3软件测试的定义
1.3软件测试的目的和原则
1.3.1软件测试的目的
1.3.2软件测试的原则
1.4软件测试的分类
1.4.1按测试阶段分类
1.4.2按是否需要执行被测试软件分类
1.4.3按是否需要查看代码分类
1.4.4按测试执行时是否需要人工干预分类
1.4.5按测试实施组织分类
1.4.6其他测试类型
1.5软件测试行业的发展
1.5.1软件测试的历史回顾
1.5.2我国软件测试的现状
1.5.3软件测试的前景
1.5.4软件测试技术的发展趋势
1.6本章小结
习题1
第2章软件测试模型
2.1软件开发过程模型
2.1.1软件开发基本过程
2.1.2常见软件开发过程模型
2.2软件项目中的测试流程
2.2.1软件生命周期中的测试
2.2.2软件测试的基本流程
2.2.3软件测试的组织
2.3软件测试过程模型
2.3.1V模型
2.3.2W模型
2.3.3H模型
2.3.4X模型
2.3.5前置测试模型
2.4软件测试过程改进模型
2.4.1测试成熟度模型
2.4.2TPI模型
2.4.3其他测试过程改进模型
2.5本章小结
习题2
第3章软件测试方法
3.1静态测试
3.1.1代码检查
3.1.2静态结构分析
3.2动态测试
3.2.1主动测试
3.2.2被动测试
3.3白盒测试
3.3.1程序插桩法
3.3.2逻辑覆盖法
3.3.3基本路径法
3.3.4白盒测试方法选择
3.4黑盒测试
3.4.1黑盒测试方法
3.4.2黑盒测试方法选择
3.4.3白盒测试与黑盒测试的比较
3.5本章小结
习题3
第4章软件测试过程
4.1单元测试
4.1.1单元测试的定义
4.1.2单元测试的原则
4.1.3单元测试的内容
4.1.4单元测试的过程
4.1.5单元测试中的覆盖率
4.1.6单元测试相关案例
4.2集成测试
4.2.1集成测试的定义
4.2.2集成测试的原则
4.2.3集成测试的内容
4.2.4集成测试的过程
4.2.5集成测试相关策略
4.2.6集成测试常用方法
4.2.7集成测试相关案例
4.3系统测试
4.3.1系统测试的定义
4.3.2系统测试的原则
4.3.3系统测试的内容
4.3.4系统测试相关案例
4.4验收测试
4.4.1验收测试的定义
4.4.2验收测试的原则
4.4.3验收测试的内容
4.4.4验收测试的过程
4.4.5验收测试的深度与广度
4.4.6验收测试的阶段
4.4.7验收测试相关案例
4.5本章小结
习题4
第5章软件测试管理
5.1软件测试管理概述
5.1.1软件测试项目
5.1.2软件测试项目管理
5.1.3软件测试项目范围管理
5.2软件测试管理计划
5.2.1软件测试计划制订
5.2.2软件测试计划执行
5.3软件测试文档
5.3.1软件测试文档的作用
5.3.2主要的软件测试文档
5.4测试组织和人员管理
5.4.1测试人员和组织结构
5.4.2测试人员的沟通和激励
5.4.3测试人员的培训
5.5软件测试过程管理
5.5.1测试项目的过程管理
5.5.2软件测试的配置管理
5.5.3软件测试的风险管理
5.5.4软件测试的成本管理
5.6本章小结
习题5
第6章敏捷项目测试
6.1敏捷项目简介
6.2敏捷项目管理
6.2.1敏捷项目的需求管理
6.2.2敏捷项目的时间管理
6.2.3敏捷项目的质量管理
6.3敏捷测试
6.3.1敏捷测试概述
6.3.2探索式测试
6.3.3基于Scrum的敏捷测试流程
6.4本章小结
习题6
第7章面向对象软件测试
7.1面向对象技术概述
7.1.1面向对象的基本概念
7.1.2面向对象的开发方法
7.1.3面向对象的分析设计
7.1.4面向对象的模型技术
7.2面向对象软件的测试策略
7.2.1面向对象的单元测试
7.2.2面向对象的集成测试
7.2.3面向对象的系统测试
7.2.4面向对象的回归测试
7.3面向对象软件的测试用例设计
7.3.1面向对象测试用例设计的基本概念
7.3.2面向对象编程对测试的影响
7.3.3基于故障的测试
7.3.4基于场景的测试
7.3.5表层结构和深层结构的测试
7.4面向对象的软件测试案例
7.4.1HelloWorld类的测试
7.4.2Date.increment方法的测试
7.5本章小结
习题7
第二部分工具应用
第8章软件测试自动化
8.1软件测试自动化概述
8.1.1手工测试与自动化测试
8.1.2自动化测试的优缺点
8.2自动化测试的原理方法
8.2.1代码分析
8.2.2捕获和回放
8.2.3录制/回放
8.2.4脚本技术
8.2.5自动化比较
8.3自动化测试的开展
8.3.1自动化测试的引入原则
8.3.2自动化测试的生命周期
8.3.3自动化测试的成本
8.3.4自动化测试的导入时机
8.3.5自动化测试的人员要求
8.3.6自动化测试存在的问题
8.4自动化测试的方案选择
8.4.1自动化测试对象分析
8.4.2确定自动化测试方案
8.5自动化测试的工具
8.5.1自动化测试工具的特征
8.5.2自动化测试工具的作用和优势
8.5.3自动化测试工具的分类
8.5.4自动化测试工具的选择
8.5.5自动化测试工具的局限性
8.6本章小结
习题8
第9章缺陷跟踪管理
9.1缺陷管理工具概述
9.1.1缺陷管理的目的和意义
9.1.2缺陷管理工具的分类
9.1.3缺陷管理工具的选择
9.2项目管理工具Redmine
9.2.1Redmine的特点
9.2.2Redmine的缺陷跟踪
9.3缺陷管理工具Bugzilla
9.3.1Bugzilla的特点
9.3.2Bugzilla的缺陷跟踪
9.4问题跟踪工具JIRA
9.4.1JIRA的特点
9.4.2JIRA的缺陷跟踪
9.5本章小结
习题9
第10章JUnit单元测试
10.1JUnit概述
10.1.1JUnit简介
10.1.2JUnit组成
10.2JUnit测试过程
10.3JUnit的安装与集成
10.3.1JUnit的简单安装
10.3.2JUnit与IDE集成
10.4JUnit使用案例
10.4.1案例介绍
10.4.2常规测试
10.4.3使用JUnit测试
10.5本章小结
习题10
第11章接口测试工具
11.1接口测试概述
11.1.1接口测试工具的分类
11.1.2接口测试工具的选择
11.2SoapUI
11.2.1SoapUI的特点
11.2.2SoapUI的使用
11.3JMeter
11.3.1JMeter的特点
11.3.2JMeter的使用
11.4Postman
11.4.1Postman的特点
11.4.2Postman的使用
11.5本章小结
习题11
第12章LoadRunner性能测试
12.1LoadRunner概述
12.1.1LoadRunner简介
12.1.2LoadRunner的主要特性
12.1.3LoadRunner组件和术语
12.1.4LoadRunner的工作流程
12.2制订负载测试计划
12.2.1分析应用程序
12.2.2制订执行计划
12.3创建测试脚本
12.3.1创建空白脚本
12.3.2VuGen界面介绍
12.3.3录制脚本
12.4设计运行场景
12.4.1新建场景
12.4.2负载生成器管理
12.4.3虚拟用户管理
12.4.4运行设置
12.5运行测试并分析结果
12.5.1运行测试场景
12.5.2监视场景
12.5.3结果分析
12.6LoadRunner综合应用
12.6.1案例介绍
12.6.2测试过程
12.7本章小结
习题12
第13章基于Python的自动化测试
13.1Selenium基础和环境搭建
13.1.1Selenium简介
13.1.2Selenium2的工作原理
13.1.3Python的下载与安装
13.1.4在Anaconda虚拟环境中安装Python
13.1.5SeleniumPythonClient的下载与安装
13.1.6SeleniumWebDriver的下载与安装
13.1.7PyCharm的下载与安装
13.1.8第1个Python+Selenium测试用例
13.1.9Webdriver的常用命令
13.1.10PageObject设计模式
13.2Python的Unittest单元测试框架
13.2.1Unittest单元测试框架的使用
13.2.2Python中的日志记录模块
13.2.3测试报告的输出
13.3基于Pytest+Allure的自动化测试
13.3.1Pytest简介
13.3.2Pytest和Allure的安装
13.3.3基于Pytest自动化测试实例
13.4本章小结
习题13
第三部分案例实践
第14章网上书店系统测试
14.1网站测试概述
14.1.1网站测试的概念
14.1.2网站测试的过程
14.1.3数据库测试
14.1.4用户界面测试
14.1.5构件级测试
14.1.6配置测试
14.1.7安全性测试
14.1.8系统性能测试
14.2案例概述
14.2.1用户简介
14.2.2项目的目的与目标
14.2.3目标系统功能需求
14.2.4目标系统性能需求
14.2.5目标系统界面需求
14.2.6目标系统的其他需求
14.2.7目标系统的假设与约束条件
14.3项目测试计划
14.3.1测试项目
14.3.2测试方案
14.3.3测试资源
14.4测试用例设计
14.4.1单元测试用例
14.4.2功能测试用例
14.4.3性能测试用例
14.5测试进度
14.5.1单元测试
14.5.2集成测试
14.5.3系统测试
14.5.4验收测试
14.6评价
14.6.1范围
14.6.2数据整理
14.6.3测试质量目标
14.7测试分析报告
14.7.1引言
14.7.2测试计划实施
14.7.3评价
14.8本章小结
习题14
第15章生活小工具微服务测试
15.1微服务架构概述
15.1.1微服务架构的出现和发展
15.1.2微服务架构的优缺点
15.2接口测试技术
15.2.1接口类型
15.2.2接口测试类型和流程
15.3案例概述
15.3.1项目概述
15.3.2功能需求
15.3.3性能需求
15.4测试计划
15.4.1测试目标
15.4.2测试方案
15.4.3测试资源
15.5测试用例
15.5.1功能测试用例
15.5.2性能测试用例
15.6测试分析报告
15.6.1引言
15.6.2测试概要
15.6.3测试结果及发现
15.6.4分析摘要
15.7本章小结
习题15
第16章手机视频播放App测试
16.1手机软件测试概述
16.1.1移动终端介绍
16.1.2手机软件测试用例设计
16.1.3手机软件测试的基本流程
16.1.4测试环境搭建实例
16.2案例概述
16.2.1项目概述
16.2.2功能需求
16.2.3性能需求
16.3测试计划
16.3.1测试目标
16.3.2测试方案
16.3.3测试资源
16.4测试用例
16.4.1功能测试用例
16.4.2性能测试用例
16.5测试过程
16.5.1单元测试
16.5.2集成测试
16.5.3系统测试
16.5.4验收测试
16.6测试分析报告
16.6.1引言
16.6.2测试概要
16.6.3测试结果及发现
16.6.4分析摘要
16.6.5测试资源消耗
16.7本章小结
习题16
附录A实验
11
配套题库网站: