《软件测试任务驱动教程》教案
一、课程基本信息信息
课程
名称
软件测试技术
课程
类型
专业核心课
适用
专业
计算机相关专业(软件技
术、计算机应用、大数据
技术等)
学时
分段
总学时 96,理论 48 学时,实践 48 学时
先修
课程
Python 编 程 基 础 、 Web
开发基础、数据库基础
课程
目标
掌握软件测试全流程技术与工具,具备手工测
试、自动化测试、接口测试等综合能力,能独
立完成中大型项目测试任务
二、教学理念与方法
1. 理念:以行业岗位能力需求为核心,遵循 "认知 - 方法 - 实践 - 进阶 - 综合" 的
能力培养路径,通过真实项目驱动、案例拆解、任务实操,实现 "学练用" 一体化。
2. 方法:讲授法、案例教学法、任务驱动法、小组协作法、项目复盘法,结合
PyCharm、Selenium、Appium、JMeter 等工具开展沉浸式实操教学。
三、教学内容与学时分配
模块 1:认知与体验软件测试(8 学时:理论 4 +实践 4)
【教学目标】
理解软件、软件缺陷、软件测试的核心定义与关联关系
掌握软件缺陷的 6 大产生原因与测试环境构成要素
熟悉软件测试的生命周期、基本原则与分类体系
能独立完成简单功能的测试用例设计与执行
【教学重难点】
重点:软件测试的定义、分类(按阶段 / 是否运行 / 是否看代码)、基本原则
难点:软件测试与软件开发生命周期的融合逻辑
【教学过程】
1. 理论讲解(4 学时)
o 软件的概念:源程序、数据、文档的集合
o 软件缺陷:定义、表现形式(Bug)、产生原因(复杂度、沟通、设计等 6 类)
o 软件测试:IEEE 定义、核心目标(验证 + 确认)、测试对象(程序 + 文档)
o 测试环境:硬件 + 软件 + 网络 + 历史数据的组合
o 软件测试的地位与作用:贯穿生命周期各阶段(需求分析至维护)
o 测试基本原则(9 条)与分类体系(6 种分类方式)
o 测试人员类型与核心能力要求
2. 实践操作(4 学时)
o 任务 1:为软件登录界面设计测试用例(功能、界面、性能、安全性等 8 个维度)
o 任务 2:对 Windows 计算器进行功能测试与界面测试,填写测试报告
o 任务 3:应用场景设计法对 ATM 取款功能进行黑盒测试,梳理基本流与备选流
作业布置
1. 简述软件测试为什么要贯穿软件开发全生命周期
2. 为手机 "天气 App" 设计核心功能的测试用例(至少覆盖 5 类测试类型)
模块 2:手工测试结构化方法(12 学时:理论 6 + 实践 6)
【教学目标】
掌握测试用例的组成要素、编写标准与设计流程
熟练运用黑盒测试 3 大核心方法(等价类划分、边界值分析、决策表法)
理解白盒测试的逻辑覆盖标准与循环测试策略
能运用手工测试方法解决三角形判定、日期计算等经典问题
【教学重难点】
重点:等价类划分(有效 / 无效等价类划分规则)、边界值分析(边界取值方法)、
逻辑覆盖法(6 类覆盖标准)
难点:多条件组合场景的测试用例设计优化
【教学过程】
1. 理论讲解(6 学时)
o 测试用例:定义、公式(输入条件 + 预期输出 + 测试环境)、基本元素、编写标
准(IEEE 829-2008)
o 黑盒测试方法:
等价类划分法:有效 / 无效等价类定义、划分方法(区间 / 数值 / 集合等
6 类)、用例设计步骤
边界值分析法:边界值定义、常见边界类型、用例选择原则
决策表法:条件桩、动作桩、规则设计、简化方法
o 白盒测试方法:
代码检查法:桌面检查、代码走查、代码审查的流程与要点
逻辑覆盖法:语句覆盖、判定覆盖、条件覆盖、判定 / 条件覆盖、条件组
合覆盖、路径覆盖的强弱关系与应用场景
循环测试:简单循环、嵌套循环、串接循环的测试策略
2. 实践操作(6 学时)
o 任务 1:用等价类划分法测试三角形判定程序(覆盖等边 / 等腰 / 一般 / 非三
角形场景)
o 任务 2:用边界值分析法设计 "学生成绩录入系统" 测试用例(覆盖输入域边界
与异常值)
o 任务 3:用决策表法测试 "购物车折扣计算功能"
o 任务 4:用逻辑覆盖法测试 nextDate () 函数(日期计算),达到条件组合覆盖标
准
o 任务 5:对比黑盒与白盒测试的适用场景、优缺点
【作业布置】
1. 设计 "用户注册系统"(含用户名、密码、邮箱校验)的完整测试用例(需包含黑盒
3 种方法)
2. 分析逻辑覆盖各标准的测试充分性,举例说明漏测场景
模块 3:基于 Django 的 Web 项目测试实践(10 学时:理
论 3 + 实践 7)
【教学目标】
掌握 Django 框架的项目搭建、配置与核心功能开发
熟悉 Web 项目测试的核心场景(主页浏览、注册、登录、权限控制)
能独立完成 Web 项目的手工测试、缺陷记录与报告撰写
理解 Web 项目测试中的兼容性、安全性测试要点
【教学重难点】
重点:Web 项目注册 / 登录功能的测试要点、用例设计、缺陷定位
难点:Session 会话、图形验证码、权限控制等特殊场景的测试方法
【教学过程】
1. 理论讲解(3 学时)
o Django 框架简介:MVT 架构、ORM、Admin 后台、静态资源配置
o 网上商城系统(OnlineShop)搭建:项目创建、数据模型设计、URL 路由、视图
函数、模板页面
o Web 项目测试核心要点:
功能测试:主页浏览、用户注册(数据校验、重复注册)、登录(账号密码
校验、验证码)、管理员操作
界面测试:布局、兼容性(浏览器 / 分辨率)、易用性
安全性测试:密码加密、SQL 注入防护、XSS 攻击防护
2. 实践操作(7 学时)
o 任务 1:搭建 OnlineShop 项目环境,配置 MySQL 数据库与静态资源(Bootstrap、
JQuery)
o 任务 2:测试主页浏览功能(未登录 / 已登录状态差异、页面元素加载)
o 任务 3:测试用户注册功能(用户名长度、密码强度、邮箱格式、验证码有效性)
o 任务 4:测试普通用户与管理员登录功能(正确 / 错误账号密码、Session 保持、
退出登录)
o 任务 5:记录测试过程中发现的缺陷,按标准格式填写缺陷报告
【作业布置】
1. 完善网上商城系统的安全性测试用例,补充 CSRF 防护、权限越权测试场景
2. 编写 Web 项目测试报告(含测试计划、用例执行结果、缺陷统计、改进建议)
模块 4:Selenium Web 自动化测试(16 学时:理论 6 + 实
践 10)
【教学目标】
掌握 Selenium 环境搭建(Python+Selenium + 浏览器驱动)
熟练运用 8 种页面元素定位方法与核心操作 API
能实现复杂场景自动化(多窗口 / 框架切换、鼠标 / 键盘操作、元素等待)
掌握 PO 设计模式与测试框架搭建,能批量执行自动化测试用例
【教学重难点】
重点:元素定位(XPath/CSS 选择器)、自动化脚本编写、PO 设计模式
难点:动态元素处理、测试框架封装、跨浏览器兼容性测试
【教学过程】
1. 理论讲解(6 学时)
o Selenium 简介:组成部分(IDE、RC、Grid、WebDriver)、自动化测试模型(线
性 / 模块化 / 数据驱动 / 关键字驱动)
o 环境搭建:Python 安装、Selenium 安装、ChromeDriver 配置、PyCharm 开发环
境设置
o 元素定位: ID、NAME、CLASS_NAME、TAG_NAME、CSS_SELECTOR、
XPath、LINK_TEXT、PARTIAL_LINK_TEXT
o 核心操作:
浏览器控制(打开 / 关闭 / 刷新、窗口大小设置)
元素交互(输入、单击、清除、提交)
特殊操作:鼠标操作(悬停、右击、拖曳)、键盘操作(Enter/Tab/Ctrl 组合
键)
场景处理:多窗口切换(句柄)、多框架切换()、元素等待
(显式 / 隐式 / 强制等待)
o 高级应用:下拉框处理、Alert 对话框、Cookie 操作、文件上传、JavaScript 执行
o PO 设计模式:页面对象封装原则、测试框架结构(用例层 / 业务层 / 操作层 /
页面层)
2. 实践操作(10 学时)
o 任务 1:搭建 Selenium 测试环境,实现百度搜索自动化脚本(输入关键词、
单击搜索、验证结果)
o 任务 2:编写网上商城注册功能自动化脚本(元素定位、数据输入、结果断
言)
o 任务 3:实现多窗口 / 框架切换场景自动化(如百度账号注册、126 邮箱
登录)
o 任务 4:运用 PO 设计模式重构自动化脚本,封装登录、注册页面对象
o 任务 5:搭建数据驱动测试框架,从 Excel 读取测试数据,批量执行用例
并生成报告
o 任务 6:测试诗词吾爱网站、百度网盘等真实 Web 应用的核心功能
【作业布置】
1. 编写 "电商商品搜索 - 加入购物车 - 下单" 全流程自动化脚本(基于 PO 模式)
2. 搭建测试框架,实现测试用例的批量执行、失败重试、HTML 测试报告生成
模块 5:unittest 单元测试框架(8 学时:理论 3 + 实践 5)
【教学目标】
理解单元测试的概念、功用与基本原则
掌握 unittest 框架核心组件(Test Fixture/TestCase/TestSuite/TestRunner)
熟练运用 unittest 断言方法与测试固件设计
能结合单元测试与自动化测试,实现代码级质量验证
【教学重难点】
重点:unittest 用例编写、测试套件构建、测试报告生成
难点:测试固件设计(setUp/tearDown)、用例执行顺序控制、异常处理
【教学过程】
1. 理论讲解(3 学时)
o 单元测试简介:定义、主要功用(Bug 定位、代码健壮性保障等 6 点)、基本规
则
o unittest 框架核心:
断言方法:assertEqual、assertTrue、assertIn、assertIsNone 等常用断言
Test Fixture:setUp ()/tearDown ()(用例级)、setUpClass ()/tearDownClass ()
(类级)、setUpModule ()/tearDownModule ()(模块级)
TestCase:测试用例类定义、测试方法命名(test 开头)
TestSuite:测试用例集合构建、用例执行顺序控制
TestRunner:用例执行、结果输出、测试报告生成
o 单元测试与自动化测试的结合:unittest+Selenium 实现 Web 自动化测试
2. 实践操作(5 学时)
o 任务 1:用 unittest 测试四则运算函数,设计测试固件与断言
o 任务 2:构建测试套件,按自定义顺序执行多个测试用例
o 任务 3:结合 Selenium 与 unittest,实现网上商城登录功能自动化测试用例
o 任务 4:编写三角形判定函数的单元测试,覆盖所有逻辑分支
o 任务 5:生成 HTML 格式测试报告,分析测试覆盖率与缺陷分布
【作业布置】
1. 为模块 2 的 nextDate () 函数编写完整的 unittest 测试用例(覆盖所有日期场景)
2. 整合 unittest 与 Selenium,实现 "用户管理系统" 的单元测试 + 自动化测试全覆盖
模块 6:接口测试基础与工具应用(10 学时:理论 4 + 实
践 6)
【教学目标】
理解接口的概念、分类(RESTful/SOAP)与接口测试核心流程
掌握接口测试用例设计方法(功能 / 性能 / 安全性 / 兼容性)
熟练使用 Postman、JMeter 等工具进行接口测试
能编写接口自动化测试脚本,实现接口批量测试与结果校验
【教学重难点】
重点:接口测试用例设计、Postman/JMeter 工具使用、接口自动化脚本编写
难点:接口认证(Token/)、参数关联、异常场景测试
【教学过程】
1. 理论讲解(4 学时)
o 接口测试简介:接口定义、分类(RESTful、SOAP、RPC)、接口测试的意义与核
心流程
o 接口测试核心要素:请求(URL、方法、参数、请求头、请求体)、响应(状态码、
响应头、响应体)
o 接口测试用例设计:
功能测试:正常请求、参数异常、数据异常、业务逻辑异常
性能测试:响应时间、并发量、吞吐量
安全性测试:SQL 注入、XSS 攻击、权限越权、敏感数据泄露
兼容性测试:不同参数格式、不同请求方法
o 常用接口测试工具:Postman(用例管理、批量执行、断言)、JMeter(性能测试、
压力测试)
o 接口自动化测试:Python+requests 库实现接口请求与响应校验
2. 实践操作(6 学时)
o 任务 1:使用 Postman 测试 "用户管理接口"(查询 / 新增 / 修改 / 删除),设
计用例并添加断言
o 任务 2:使用 JMeter 对登录接口进行压力测试,设置并发用户数并分析测试报
告
o 任务 3:编写 Python+requests 接口自动化脚本,实现接口请求、参数传递、响
应校验
o 任务 4:实现接口参数关联(如登录获取 Token,后续接口携带 Token 请求)
o 任务 5:搭建接口自动化测试框架,从 Excel 读取测试数据,批量执行并生成报
告
【作业布置】
1. 为 "电商商品接口"(列表查询、详情查询、库存修改)设计完整测试用例
2. 编写接口自动化测试脚本,覆盖功能、异常、安全性测试场景,生成 HTML 测试
报告
模块 7:App 自动化测试(12 学时:理论 4 + 实践 8)
【教学目标】
掌握 App 自动化测试环境搭建(Appium+Android/iOS 模拟器)
熟悉 App 元素定位方法与 Appium 核心操作 API
能实现 App 核心功能自动化(启动 / 关闭、页面跳转、控件交互)
能结合数据驱动与 PO 模式,搭建 App 自动化测试框架
【教学重难点】
重点:Appium 环境搭建、App 元素定位、自动化脚本编写
难点:模拟器配置、复杂控件交互(滑动 / 手势)、跨设备兼容性测试
【教学过程】
1. 理论讲解(4 学时)
o App 自动化测试简介:App 类型(原生 App、混合 App、Web App)、测试场景
(功能 / 性能 / 兼容性 / 安全性)
o Appium 简介:核心原理、支持平台(Android/iOS)、核心特性(跨平台、不依赖
源码)
o 环境搭建:
Android 环境:JDK 安装、Android SDK 配置、模拟器(夜神 / 雷电)安
装
Appium 安装:Appium Desktop、Appium Python Client
设备连接:模拟器启动、adb 命令(设备查看、安装 App、日志查看)
o App 元素定位:UIAutomator Viewer、Appium Inspector、常用定位方法(ID、
CLASS_NAME、XPath、ACCESSIBILITY_ID)
o 核心操作:
App 控制(启动、关闭、重启、后台运行)
控件交互(输入、单击、清除、选择)
手势操作(滑动、长按、拖动、缩放)
场景处理:页面切换、弹窗处理、权限申请处理
o App 自动化框架:PO 模式封装、数据驱动(Excel/JSON)、测试报告生成
2. 实践操作(8 学时)
o 任务 1:搭建 Appium 测试环境,配置 Android SDK 与夜神模拟器
o 任务 2:使用 UIAutomator Viewer 定位 App 元素(如微信、京东 App)
o 任务 3:编写京东 App"商品搜索 - 加入购物车" 自动化脚本
o 任务 4:实现 App 手势操作自动化(如滑动浏览商品、长按删除购物车商品)
o 任务 5:运用 PO 模式重构 App 自动化脚本,封装首页、搜索页、购物车页面
对象
o 任务 6:搭建数据驱动测试框架,从 JSON 文件读取测试数据,批量执行用例
【作业布置】
1. 编写 "外卖 App"(登录、下单、支付)全流程自动化脚本(基于 PO 模式)
2. 实现跨设备兼容性测试(至少 2 种模拟器分辨率、1 种真实设备),生成测试报告
模块 8:性能测试与安全测试(10 学时:理论 5 + 实践 5)
【教学目标】
理解性能测试的概念、指标(响应时间、并发量、吞吐量)与测试流程
掌握 JMeter 性能测试工具的使用,能设计性能测试场景
了解安全测试的核心领域(SQL 注入、XSS 攻击、权限越权)与测试方法
能运用工具进行基础安全测试与性能瓶颈分析
【教学重难点】
重点:JMeter 性能测试场景设计、性能指标分析、基础安全测试工具使用
难点:性能瓶颈定位、复杂安全漏洞挖掘
【教学过程】
1. 理论讲解(5 学时)
o 性能测试简介:定义、核心指标(响应时间、并发用户数、吞吐量、错误率、资
源利用率)、测试类型(负载测试、压力测试、耐久性测试、并发测试)
o JMeter 详解:
核心组件(线程组、取样器、逻辑控制器、断言、监听器)
性能测试流程:需求分析、场景设计、脚本编写、测试执行、结果分析
常用场景:HTTP 接口性能测试、数据库性能测试、WebSocket 性能测试
o 安全测试简介:定义、核心领域(认证授权、数据加密、输入验证、会话管理)
o 常见安全漏洞:SQL 注入、XSS 跨站脚本、CSRF 跨站请求伪造、权限越权、
敏感数据泄露
o 安全测试工具:AppScan(Web 安全扫描)、SQLMap(SQL 注入检测)、Burp Suite
(Web 渗透测试)
2. 实践操作(5 学时)
o 任务 1:使用 JMeter 设计 "登录接口" 性能测试场景(100 并发用户,持续 3
分钟)
o 任务 2:执行性能测试,分析响应时间、吞吐量等指标,生成性能测试报告
o 任务 3:使用 SQLMap 检测 Web 应用的 SQL 注入漏洞
o 任务 4:使用 Burp Suite 拦截并修改 HTTP 请求,测试权限越权漏洞
o 任务 5:对网上商城系统进行基础安全扫描,记录安全漏洞并提出修复建议
【作业布置】
1. 为 "商品查询接口" 设计压力测试场景(逐步增加并发用户至 500),分析性能瓶颈
2. 编写性能测试与安全测试综合报告,包含测试方案、执行结果、改进建议
模块 9:综合项目测试与职业素养提升(10 学时:实践
10)
【教学目标】
综合运用所学测试技术,独立完成中大型项目全流程测试
提升测试方案设计、团队协作、沟通表达与文档撰写能力
了解软件测试岗位招聘要求与职业发展路径
具备面试应对与职场快速适应能力
【教学重难点】
重点:综合测试方案设计、跨类型测试技术融合、项目复盘与总结
难点:复杂场景缺陷定位、团队分工协作与沟通
【教学过程】
1. 项目启动(1 学时)
o 项目介绍:"电商综合管理系统"(含 Web 端、App 端、接口层),功能模块包括
用户管理、商品管理、订单管理、支付管理、数据分析
o 需求拆解:分组领取测试模块,明确测试范围、测试类型(功能 / 性能 / 自动化
/ 安全)
o 团队分工:每组 4-5 人,分别负责需求分析、用例设计、执行测试、缺陷管理、
报告撰写
2. 测试实施(7 学时)
o 阶段 1:需求分析与测试方案设计(1 学时):梳理需求点,明确测试策略、测
试环境、测试工具
o 阶段 2:测试用例编写(2 学时):按模块编写功能 / 性能 / 自动化 / 安全测
试用例,组内评审
o 阶段 3:测试执行(3 学时):
功能测试:手工执行用例,记录缺陷(使用 JIRA 或 Excel)
自动化测试:编写 Web/App/ 接口自动化脚本,批量执行
性能测试:设计核心接口性能场景,使用 JMeter 执行
安全测试:基础安全漏洞扫描与验证
o 阶段 4:缺陷复盘(1 学时):分析缺陷分布、根因,提出改进建议
3. 项目总结与职业提升(2 学时)
o 项目汇报:每组展示测试成果(测试报告、缺陷统计、自动化脚本),进行答辩
o 职业分享:软件测试岗位分类(功能测试、自动化测试、接口测试、性能测试、
安全测试)、招聘要求、职业发展路径(测试工程师→测试组长→测试经理→测试
架构师)
o 面试指导:常见面试题解析、简历撰写技巧、模拟面试
【作业布置】
1. 提交完整的 "电商综合管理系统" 测试报告(含测试计划、用例、缺陷统计、测试
结果、改进建议)
2. 撰写个人学习总结,梳理知识体系与能力提升方向,制定职业发展规划
考核方式
1. 过程性考核(60%)
o 课堂表现(10%):出勤、互动参与、小组协作
o 阶段性任务(30%):各模块实践任务、作业完成质量
o 项目过程(20%):综合项目中的需求分析、用例设计、测试执行、团队贡献
2. 终结性考核(40%)
o 综合项目测试成果(30%):测试报告、自动化脚本、缺陷管理、项目答辩
o 理论笔试(10%):软件测试核心概念、方法、工具、流程
教学资源
1. 核心教材:基于提供的模块文档()整理的课程讲义
2. 工 具 软 件 : PyCharm 、 Selenium 、 Appium 、 JMeter 、 Postman 、
ChromeDriver、夜神模拟器、SQLMap、Burp Suite、unittest
3. 参考资料:《软件测试实战》《Selenium 自动化测试实战》《Appium 移动自动化测
试实战》《JMeter 性能测试实战》《Web 安全测试指南》
4. 项目案例:网上商城系统(OnlineShop)、电商综合管理系统完整源码与测试数据集