课程名称 |
软件测试实验 |
Experiments of Software Testing |
开课单位 |
计算机科学与工程学院 |
课程性质 |
必修课 |
课程类别 |
实践环节 |
课程代码 |
210731102801 |
学分 |
1 |
学时 |
22 |
适用专业 |
软件工程专业 |
先修课程 |
软件工程概论、Java程序设计 |
支撑课程 |
软件测试与质量保证 |
授课语言 |
中文 |
一、课程简介
(一)课程中文简介
软件测试实验课程是软件工程专业的必修实践课程,是为了配合软件测试与质量保证课程的教学,旨在让学生学习掌握各类测试工具,具备编写自动化测试脚本程序的基础能力,具备自动化黑盒、白盒、性能测试与测试管理的基本技能。本课程主要包括黑盒测试工具与自动化、白盒测试与自动化、性能测试与自动化、静态测试管理和测试管理等五个教学模块。
通过本课程的学习,学生能够熟悉Selenium、Jmeter、Junit、Jupiter、TestDirector等软件测试工具的安装、功能和操作方法。应用上述工具,采用白盒、黑盒和灰盒测试用例设计技术,设计合理的测试用例,录制、编写测试脚本程序,掌握功能测试、单元测试、性能测试的自动化测试步骤和方法,掌握代码静态测试、测试管理的步骤和方法;总结分析测试结果,统计分析缺陷类别、影响和产生的原因,并对被测软件质量进行分析评价。
(二)课程英文简介
This course is a required practice link in software engineering major, which cooperates with software testing and quality assurance of teaching, aims to let the students learn to master all kinds of test tools,to have the ability to write automation test script and to have basic skills of automated black box, white box, performance test and test management. This course mainly includes five teaching modules: black box test tools and automation, white box test and automation, performance test and automation, static test management and test management.
Through this course, students will be familiar with the installation, functions and operation methods of Selenium, Jmeter, Junit, Jupiter, TestDirector and other software test tools. Students can apply the above tools, adopt the white box, black box and gray box test case design technology, to design reasonable test cases, to record and write test scripts, to master the automated test steps and methods of functional test, unit test and performance test, to master the steps and methods of static test and test management of code, to summarize and analyze test results, statistically analyze defect categories, influences and causes, and to analyze and evaluate the software quality under test.
二、实验课程目标
本课程的目标包括:
CO1:认识Selenium、Jmeter、Junit、Jupiter、TestDirector等软件测试工具的安装、功能、测试脚本的编写和操作方法。
CO2:应用白盒、黑盒和灰盒测试技术,设计被测程序的测试用例,应用Selenium、Junit等工具,编写测试脚本程序,掌握Web软件功能和单元测试的自动化步骤方法;应用Jmeter,掌握Web软件系统性能测试的步骤和方法;应用Jupiter,掌握软件静态测试的步骤和方法。
CO3:总结分析测试结果,统计分析缺陷类别、影响和产生的原因,并对被测软件质量进行分析评价。
课程目标与所支撑的毕业要求指标点的对应关系如表1所示。
表1课程目标与所支撑的毕业要求内涵观测点的对应关系
适用专业 |
毕业要求内涵观测点 |
课程目标 |
软件工程 |
5.2能够选择与使用恰当的软件系统分析、设计及软件项目管理工具,完成软件系统的建模、模拟、预测与项目管理。 |
CO1、CO2 |
6.2 能够分析和评价软件工程实践和软件产品对社会、健康、安全、法律、文化的影响,以及这些制约因素对软件项目实施的影响,并理解应承担的社会责任。 |
CO3 |
三、实验内容与要求
(一)实验设计(实验类型及内容)
为了满足教学目标,软件测试实验课程主要共设计了11个实验,包括5个验证性实验、3个综合性实验,3个设计研究性实验,其中验证性实验比例为45%,综合和设计研究性实验比例为55%。
5个验证性实验主要是验证黑盒测试、白盒测试、性能测试的自动化测试原理和方法,验证静态测试和管理测试管理的流程和内容。2个综合性实验主要是综合运用静态测试和测试管理的过程、技术和方法,完成具体程序的静态测试和测试管理工作。4个设计性实验主要为具体Java程序和控件的黑盒测试、白盒测试和性能测试设计测试方案,编写测试脚本程序并执行,分析测试结果,以发现并改正部分缺陷。
实验课程目标 |
对应实验 |
CO1 |
实验1、实验4、实验6、实验8、实验10 |
CO2 |
实验2、实验3、实验5、实验7、实验9 |
CO3 |
实验2、实验3、实验5、实验7、实验9、实验11 |
(二)实验内容及要求
编号 |
实验项目 |
学时数 |
实验内容 |
实验类型 |
实验要求 |
1 |
黑盒测试工具和使用 |
2 |
(1)Selenium IDE的安装 (2)Selenium IDE的操作方法。 |
验证性 |
必做 |
2 |
Web功能自动化测试 |
2 |
(1)基于Selenium的Web功能测试自动化步骤 (2)黑盒测试用例设计 (3)基于Selenium的Web功能自动化测试程序编写和执行 (4)缺陷发现与改正 |
设计研究性 |
必做 |
3 |
Web页面控件的测试 |
2 |
(1)基于Selenium的Web页面控件自动化测试步骤 (2)黑盒测试用例设计 (3)基于Selenium的Web页面控件自动化测试程序编写和执行 (4)缺陷发现与改正 |
设计研究性 |
必做 |
4 |
白盒测试工具和使用 |
2 |
(1)JUnit的安装 (2)JUnit的操作方法。 |
验证性 |
必做 |
5 |
基于白盒的单元测试自动化 |
2 |
(1)基于Junit的单元测试自动化步骤 (2)白盒测试用例设计 (3)基于Junit单元自动化测试程序编写和执行 (4)缺陷发现与改正 |
设计研究性 |
必做 |
6 |
静态测试工具和使用 |
2 |
(1)JUpiter的安装 (2)Review ID的创建及发布。 |
验证性 |
必做 |
7 |
代码静态测试 |
2 |
(1)基于Jupiter代码静态测试步骤 (2)桌面检查与分组代码走查 (3)缺陷管理 |
综合性 |
必做 |
8 |
负载压力测试工具和使用 |
2 |
(1)Jmeter的安装 (2)Jmeter的操作方法 (3)简单的web性能测试 |
验证性 |
必做 |
9 |
负载压力测试自动化 |
2 |
(1)使用Jmeter进行mysql性能测试 (2)使用jmeter进行java工程的性能测试 (3)性能缺陷管理 |
综合性 |
必做 |
10 |
测试管理工具和使用 |
2 |
(1)TestDirector的安装 (2)TestDirector的操作方法。 |
验证性 |
必做 |
11 |
测试管理工具运用 |
2 |
(1)测试管理的主要步骤 (2)基于TesttDirector测试管理实验 |
综合性 |
必做 |
四、实验设备与环境配置
1. 计算机:Intel Core2 Duo E4300 1.8GHZ、内存512MB、硬盘15GB以上。学生每人一台。
2. 开发环境:Windows、MySql、Eclipse等Java开发环境、Junit、Jupiter、Jmeter、Selenium、TestDirector等软件测试工具。
五、课程思政、创新创业元素
教学章节 |
知识点 |
思政元素案例 |
培养目标 |
备注 |
实验1 |
黑盒测试工具 |
现代工具对社会生产力的重大作用 |
理解工具的重要性,在创新创业过程中要善于开发和使用工具。 |
创新创业案例 |
实验3 |
Web页面控件的测试 |
及时发现并改正错误的重要性 |
鼓励学生勇于面对错误,培养学生从错误中学习,在挫折中前进的优良品质。 |
|
实验5 |
基于白盒的单元测试自动化 |
精益求精的做事态度 |
引导学生对待任何事情都要尽可能精益求精、避免马马虎虎、应付了事的错误做法。 |
|
实验7 |
代码静态测试 |
团队是个体的凝聚力 |
正确理解团队与个人的关系,培养学生的团队精神与协作能力 |
|
实验9 |
负载压力测试自动化 |
底线思维 |
凡事都要想到最坏或极端的情况,做任何事情前都要充分思考 |
|
实验11 |
测试管理工具运用 |
管理能力的重要性 |
理解管理的作用,提高计划、协调、指挥和调度能力 |
|
六、主要参考资料
[1] Ron Patton著.软件测试(原书第二版)[M].北京:机械工业出版社,2006.04.
[2] 朱少民主编.软件测试:基于问题驱动模式[M].北京:高等教育出版社,2017.04.
[3]柳纯录主编.软件评测师教程[M].北京:清华大学出版社,2005.03.
七、考核方式、方法及实验成绩评定方法
考核成绩可以采用五级制。主要从工作态度、测试工具的掌握程度、测试效果、实验报告质量等方面进行评价和考核。其中工作态度是扣或加分项。
(一)评分标准
表4 实验评分标准
考核 环节 |
占总成绩比例 |
<60 (不及格) |
60-69 (及格) |
70-79 (中等) |
80-89 (良好) |
90-100 (优秀) |
工作态度 |
扣或加分分项 |
严重违反课堂纪律,经常旷课、迟到和早退,扣5分。 |
基本能遵守课堂纪律,但存在少量旷课、迟到或早退现象,扣3分 |
能够遵守课堂纪律;但学习态度不积极主动 。 |
遵守课堂纪律;学习态度较积极主动,加3分 |
遵守课堂纪律;学习态度积极主动。加5分 |
测试工具的掌握程度 |
30% |
不掌握5种测试工具的基本功能和操作,按时完成实验项目数低于50% |
基本掌握5种测试工具的基本功能和操作,按时完成实验项目数为60%-75% |
掌握5种测试工具的基本功能和操作,按时完成实验项目数为75%-90% |
较好掌握5种测试工具的基本功能和操作,按时完成实验项目数为90%以上 |
较好掌握5种测试工具的功能和操作,所有实验项目均能按时完成 |
测试效果 |
40% |
没有掌握自动化测试方法,不具有测试程序编写能力,发现和改正软件缺陷能力差 |
基本掌握自动化测试方法,具有测试程序编写的基本能力,有一定的发现和改正软件缺陷的能力 |
掌握自动化测试方法,具有测试程序编写的能力,发现和改正了70%以上软件错误。 |
掌握自动化测试方法,具有较强的测试程序编写的能力,发现和改正了80%以上软件缺陷,且能分析和度量缺陷,评价分析软件质量 |
掌握自动化测试方法,编写测试程序的能力强,发现和改正了90%以上软件缺陷,在分析和度量缺陷基础了,对软件质量进行了较准确的评价分析 |
实验报告质量 |
30% |
报告格式不规范、结构不合理,内容不规范或不完整性,逻辑性差。未完成或存在较多错误 |
报告格式基本规范、结构基本合理,内容基本规范和完整,有一定的逻辑性。存在一定错误。 |
报告格式较规范、结构较合理,内容较规范和完整,条理较清晰、逻辑性较强。 |
报告格式规范、结构合理,内容规范和完整,条例清晰、逻辑性强。有一定的独立见解,能分析缺陷原因、评价软件质量 |
报告格式规范、结构合理,内容规范和完整,条例清晰、逻辑性强。有独立见解,能准确分析缺陷原因、评价软件质量。 |
(二)实验项目(或考核环节)权重
表5 实验课程目标与实验项目(或考核环节)对应关系
实验项目 |
CO1 |
CO2 |
CO3 |
测试工具的掌握程度 |
70 |
|
|
测试效果 |
|
70 |
50 |
实验报告质量 |
30 |
30 |
50 |
总权重 |
100% |
100% |
100% |
撰稿人:赵卫东
审核人:倪丽娜
批准人:倪维健