暂无课程简介!
[软件测试与质量保证]
本科课程教学大纲(理工医类/电气学院)
课程信息 | |||
开课单位 | 电气与计算机工程学院 | 开课学年学期 | 2020-2021学年 第2学期 |
授课年级 | 2018级 | 授课对象专业 | 计算机科学与 技术、软件工程 |
课程学分 | 2 | 课程学时 | 36 |
课程性质 | þ专业必修 ¨专业选修 ¨公共必修 ¨公共选修 ¨成长必修 ¨专业限选 ¨公共限选 | ||
先修课程要求 | 程序设计类课程、数据库、软件工程导论等 | ||
教师信息 | |||
授课教师 | 曹红杏,沈志奇,张鉴新 | 联系电话 | 15919616612 |
答疑地点 | 2教104 | 答疑时间 | 周三 14:30-15:30,或在线答疑 |
电子邮件 | lxj_258369@163.com |
课程负责人: 主 审:
一、课程描述、课程目标以及教学方式
(一)课程描述
《软件测试与质量保证》是计算机、软件工程专业的一门专业教育课,其教学目的是通过本课程学习,使学生系统地学习软件测试的基本概念和基本理论;深刻理解和掌握软件测试基本方法和基本技术;了解当前各种新的软件测试技术和主要发展方向。学生能够深刻理解软件测试在软件研发过程中的作用与意义,能够设计较为有效的测试用例,掌握性能测试工具Jmeter的使用方法,熟悉APP测试工具Appium的使用。学生能够基本承担起软件测试的工作任务,为学生将来从事实际软件测试工作和进一步深入研究打下坚实的理论基础和实践基础。基于行业对软件测试工程师(应届毕业生)的基本要求,该课程主要分为四部分内容,第一部分是:软件测试的方法与技术,包括:白盒测试,黑盒测试,灰盒测试,程序插桩法。第二部分是性能测试,安全测试,以及自动化测试,移动APP测试。第 三部分是实战。
(二)课程目标
作为计算机类专业的一门专业教育课程,学完该门课程后,要求学生能够达到以下学习目标:
1. 能够根据学过的软件测试基本方法与技术,开展各阶段的测试活动:1)制定测试需求与测试计划,2)设计较为有效的测试用例,3)开展测试活动,并有效跟踪软件缺陷,4)对测试活动进行总结,输出测试报告。 核心能力1。
2. 至少掌握一门行业常用自动化测试工具的使用,如:Jmeter,达到理解工具的工作原理,掌握工具的使用方法,并且能够在测试活动中熟练使用工具。核心能力2。
3. 在实战阶段,除了对基本方法和技术的熟练应用,还可以锻炼组员之间的团队合作与交流能力。核心能力1,2和4。
4. 及时了解国内软件测试行业现状和软件测试岗位的工作要求,通过课堂学习,综合实验学习经历、以及持续的自学方式,争取使自己的测试业务能力满足软件测试岗位的行业要求。核心能力6。
5. 培养积极的工作心态,良好的学习能力与沟通能力,不旷课,不早退,上课认真听讲,能够独立完成平时的专项实验,需要团队合作的任务,各成员能够积极主动,按时高质量完成任务,体会团队合作的重要性,具备良好的职业素养。核心能力7。
二、课程内容
主要知识点:
1.1 软件开发模型,以及软件质量的概念
1.2 软件缺陷的概念,产生原因,以及处理流程
1.3 软件测试的原则
1.4 软件测试的基本流程
教学要求:结合实例让学生理解软件测试在软件研发流程中的作用,理解软件缺陷的概念,产生的可能原因,以及缺陷的处理流程;软件测试人员应该遵从的软件测试原则,软件测试的流程。通过了解软件测试现状、行业对软件测试工程师的岗位要求,以及软件测试工程师的职业发展前景,激发学生的学习兴趣,并明确如要满足行业要求,应该掌握的知识以及努力的方向。
重点:软件缺陷的概念,产生原因,以及处理流程,软件测试的原则。
难点:无
采用的教学方法:知识点讲解,课堂互动。
参考案例:摩拜单车APP开锁用车功能测试流程。
讲授学时:2学时
实践学时:1学时
(二)第2章 黑盒测试方法
主要知识点:
2.1 等价类划分法
2.2 边界值分析法
2.3 因果图与决策表
教学要求:通过本章内容的学习,学生应该熟练掌握黑盒测试中的等价类划分,边界值分析,以及因果图与决策表法。
重点:等价类划分,边界值分析。
难点:等价类划分与边界值分析的区别。
采用的教学方法:知识点讲解,课堂实验。
参考案例:三角形问题,余额宝提现。
讲授学时:2学时
实践学时:1学时
(三)第3章 白盒测试方法
主要知识点:
3.1 六种逻辑覆盖方法
3.2 程序插桩法
教学要求:通过本章内容的学习,学生应该熟练掌握白盒测试中的六种逻辑覆盖:语
句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,语句覆盖;掌握程序插桩法的使用。
重点:六种逻辑覆盖。
难点:条件组合覆盖,路径覆盖,插桩法。
采用的教学方法:知识点讲解、课堂实验。
参考案例:三角形程序。
讲授学时:3学时
实践学时:2学时
作业学时:1学时
(四)第4章 性能测试
主要知识点:
4.1 性能测试的概念
4.2 性能测试的指标
4.3 性能测试的流程
4.4 性能测试工具Jmeter的使用
教学要求:通过本章内容的学习,学生应该熟练掌握性能测试的概念,指标以及流程,能够熟练掌握性能测试工具Jmeter的使用。
重点:性能测试工具Jmeter的使用。
难点:性能测试工具Jmeter的使用。
采用的教学方法:知识点讲解,课堂实验
参考案例:Jmeter工具自带的Web系统。
讲授学时:4学时
实践学时:3学时
作业讲解:2学时
(五)第5章 安全测试
主要知识点:
5.1 安全测试的概念
5.2 常见的安全漏洞
5.3 渗透测试
5.4 常见的安全测试工具
教学要求:通过本章内容的学习,学生应该对安全测试有一个整体的了解与认知,并了解安全测试工具的使用。
重点:SQL注入,XSS跨站脚本攻击,CSRF攻击。
难点:SQL注入,XSS跨站脚本攻击,CSRF攻击。
采用的教学方法:课堂讲解,课堂实验。
参考案例:无指定案例,建议自选。
讲授学时:2学时
作业学时:1学时
(六)第6章 自动化测试
主要知识点:
6.1 自动化测试的概念
6.2 自动化测试的基本流程
6.3 自动化测试的优缺点
6.4 自动化测试的常见技术与工具
6.5 持续集成工具
教学要求:通过本章内容的学习,学生应该掌握Web自动化测试的基本方法。
重点:自动化测试技术
难点:无。
采用的教学方法:课堂讲授,课堂实验。
参考案例:无
讲授学时:2学时
作业讲解:1学时
(七)第7章 移动APP测试
主要知识点:
7.1 移动App测试的背景与要点
7.2 移动App测试的流程
7.3 移动App测试环境的搭建
7.4 Appium测试工具的使用
7.5 App测试脚本的编写
教学要求:通过本章内容的学习,学生应该熟悉移动App的测试方法与测试工具的使用。
重点:Appium测试工具的使用。
难点:Appium测试工具的使用。
采用的教学方法:知识点讲解,课堂实验
参考案例:手机安全卫士
讲授学时:2学时
实践学时:1学时
(八)第8章 在线考试系统
主要知识点:
8.1 测试需求说明书的编写方法
8.2 测试计划的编写方法
8.3 测试方案的编写方法
8.4 测试用例的编写方法
8.5 测试报告的编写方法
8.6 缺陷报告的编写方法
教学要求:通过本章内容的学习,学生应该掌握测试需求,测试计划,测试方案,测试用例,测试报告,以及缺陷报告的编写。
重点:测试需求,测试计划,测试用例,测试报告的编写。
难点:测试需求,测试用例的设计与编写。
采用的教学方法:知识点讲解,课堂实验。
参考案例:在线考试系统。
讲授学时:3学时
实践学时:3小时
1、对软件测试有比较全面的理解与认识,掌握软件测试的方法与技术;
2、能够在软件研发项目中开展完整的、有目的的测试活动;
3、能够应用白盒测试和黑盒测试方法,设计合理的设计用例(用尽可能少的用例发现尽可能多的缺陷);
4、能够熟练掌握Jmeter性能测试工具;
5、了解Appium移动测试工具的使用;
6、不断提高自学能力,养成良好的自学习惯;
7、培养良好的职业素养和社会责任感,将所学知识和技术作为进入软件测试相关岗位工作的一项基本技能。
(一)出勤
学生应按时上下课,避免迟到早退现象,积极参与课堂教学并完成相关的作业、实验内容。
(二)阅读资料
学生应认真进行课前预习,阅读教材和指定参考书及重要的参考文献。
(三)课堂展示
安排小组实验课程讨论与实验结果演示。
(四)课外实践
本课程是理论与实验结合非常紧密的课程,理论课上,通过专项和综合案例的形式重点讲方法、知识点的应用;实验课上通过实践让学生理解与巩固所学知识。
(五)小考与期末考
采用期末考查。
(六)学术诚信
按中山大学南方学院相关规定执行。
(七)剽窃的定义以及相应的惩罚
剽窃是严重违反学校规章制度的行为。一经发现,将上报相关部门,并受到包括开除学籍在内的严厉处罚。
(一)教科书-必读
《软件测试》,人民邮电出版社,2019,黑马程序员 编著。
(二)教科书-强烈推荐
《软件测试的艺术》(中文版),[美]Glenford J.Myers,[美]Tom Badgett, [美]Corey Sandler 著;张晓明,黄琳译。
(三)文章-必读
一个8年软件测试工程师的经验分享(http://blog.51cto.com/13887297/2155225)。
(四)文章-强烈推荐
十年了,回顾一路走来的测试(http://bbs.51testing.com/thread-1180017-1-1.html)。
(五)其他参考资料
1、软件测试论坛:http://www.51testing.com/html/index.html。
2、《探索式软件测试》,[美]惠特克著;方敏,张胜,钟颂东等译。
3、《软件测试与质量保证》(第一版), 北京邮电大学出版社,2008,袁玉宇。
(一)教学活动
1、个人预习
2、课堂讲授
3、课堂讨论
4、课堂实践
5、实验作业讲解
6、期末考查
7、课外研读
(二)对预期学习成果的考察
预期学习成果 | 教学活动 | 学习成果考察内容:作业/实验任务 |
第1章 软件测试基础 | 2、3、4、5、6 | 实验任务: 第一张课后习题。 |
第2章 黑盒测试方法 | 1、2、3、4、5、6、7 | 实验任务:黑盒测试实验 |
第3章 白盒测试方法 | 1、2、3、4、5、6、7 | 实验任务:白盒测试之逻辑覆盖实验 |
第4章 性能测试 | 1、2、3、4、5、6、7 | 实验任务:性能测试工具Jmeter应用-录制脚本,场景运行,结果分析实验 |
第5章 安全测试 | 1、2、3、4、5、6、7 | 作业:教材第五章习题的第一,三,四题 |
第6章 自动化测试 | 1、2、3、4、5、6、7 | 作业:教材第六章习题的第三,四题 |
第7章 移动App测试 | 1、2、3、4、5、6、7 | 作业:使用Appium对手机安全卫士或其他App进行功能和UI测试 |
第8章 在线考试系统 | 1、2、3、4、5、6、7 | 作业:输出测试需求,测试计划,测试用例,以及测试报告。 |
(一)评分体系
1、出勤率:15%
课堂参与:加分项
2、课堂实验/作业:35%
3、期末考查:50%
(二)考核内容与要求
课堂实验:
1. 理解软件测试的基本方法与技术,如:软件测试的相关概念,白盒测试,黑盒测试方法等
(核心能力1)。
2. 熟悉软件测试流程,能够开展基本的软件测试活动,如:测试需求分析,测试计划,测试
用例,以及测试报告的输出(核心能力1)。
3. 熟练掌握性能测试工具Jmeter的使用(核心能力2)。
4. 培养良好的学习态度和自学能力,能够认真按时独立高质量完成作业(核心能力6和7)。
期末考查:
5. 能够针对被测系统,团队合作开展具体的测试活动,包括:制定测试计划,设计测试用
例,执行测试活动,输出测试报告(核心能力1、4、6和7)。
周次 | 课程要点 | 理论学时 | 实践学时 | 作业学时 |
1 | 理论:软件测试基础 | 2 | 0 | 0 |
2 | 理论:黑盒测试方法 实践:软件测试基础+等价类划分与边界值分析的实验任务 | 1 | 1 | 0 |
3 | 理论:黑盒测试方法 实践:等价类划分与边界值分析的实验任务 | 1 | 1 | 0 |
4 | 理论:白盒测试--语句覆盖,判定覆盖 实践:根据2种逻辑覆盖设计有效的测试用例 | 1 | 1 | 0 |
5 | 理论:白盒测试--条件覆盖,判定/条件覆盖 实践:根据2种逻辑覆盖设计有效的测试用例 | 1 | 1 | 0 |
6 | 理论:白盒测试--条件组合覆盖,路径覆盖 实践:根据2种逻辑覆盖设计有效的测试用例 | 1 | 0 | 1 |
7 | 理论:性能测试工具Jmeter的学习 实践:录制脚本 | 1 | 1 | 0 |
8 | 理论:性能测试工具Jmeter的学习 实践:录制脚本 +场景运行 | 1 | 1 | 0 |
9 | 理论:性能测试工具Jmeter的学习 实践:场景运行+结果分析 | 1 | 0 | 1 |
10 | 理论:性能测试工具Jmeter的学习 实践:结果分析 | 1 | 1 | 0 |
11 | 理论:性能测试工具Jmeter的学习+安全测试 | 1 | 0 | 1 |
12 | 理论:安全测试 | 1 | 0 | 1 |
13 | 理论:自动化测试 | 2 | 0 | 0 |
14 | 理论:自动化测试+移动App测试 实践:Appium的使用 | 1 | 0 | 1 |
15 | 理论:移动App测试 实践:Appium的使用 | 1 | 1 | 0 |
16 | 理论:测试在线考试系统 实践:测试需求,测试计划的编写 | 1 | 1 | 0 |
17 | 理论:测试在线考试系统 实践:测试用例,测试报告的编写 | 1 | 1 | 0 |
18 | 理论:测试在线考试系统 实践:系统测试总结与点评 | 1 | 1 | 0 |
总学时 | 20 | 11 | 5 |
注:此表一式三份,于开学两周内填好,一份送教务与科研部,一份开课单位留存,一份自留。