软件质量保证与测试教学中存在的问题及对策研究
陈向坚+李红梅+徐明
[摘 要]针对软件质量保证与测试课程教学实践过程中发现的问题,以项目驱动为前提,从教学方法与手段、实践大纲、考核方式改进等方面,对软件质量保证与测试这门课程的教学模式进行初步的探讨与实践。
[关键词]软件质量保证;软件测试;项目驱动
[中图分类号] G642 [文献标识码] A [文章编号] 2095-3437(2016)04-0120-02
随着软件变成日常生活中不可或缺的一部分,客户和最终用户对他们购买的软件质量越来越看重。性能糟糕或用户体验质量低的应用程序或企业系统将被淘汰,其他产品很容易取代它们的位置。
软件开发者想要质量高、稳定性好的软件产品,用户则希望能有有效、稳定、经济的软件产品。然而,只有通过软件质量保证和软件测试才能提高软件质量。高校担负着培养软件质量保证和软件测试人员的主要责任。对计算机学院的软件质量保证与测试系来说,其面临的一项重要挑战就是如何解决软件质量保证与测试专业理论与实践严重脱节的问题。
为更好地解决软件专业毕业生的就业问题,我校计算机科学与工程学院成立了软件工程系,并与NIIT软件公司合作,建立“软件工厂”,培养软件人才,将软件质量保证与测试[1]作为该系的一门专业必修课来开设。下面以就业为导向,针对教学过程中存在的问题,从教学内容的选择、实践内容的加强、实验大纲的改进、考核方式的改革等几方面,对该课程的教学进行初步的探讨。
一、教学过程中存在的问题
(一)学生方面
软件质量保证与测试这门课程,覆盖了两方面:一是软件质量保证,这部分理论性比较强,学生在进行这一部分学习的时候,会感觉到枯燥乏味;二是软件测试,这部分课程主要讲解测试方法,比如白盒测试和黑盒测试等。软件专业的学生认为,对软件开发的IT人员来说,软件测试没有软件开发好就业。他们没有认清楚软件测试行业的内部需求,从而丧失了对这门课程学习的主动性和积极性。[2]
(二)教师方面
部分教师在教学过程中,没有合理的分配教学时间。这门课的前部分,也就是软件质量保证部分,其理论内容繁琐,结构比较复杂。教师在这部分课程的教学过程中,如果不能结合具体的项目实例讲解,学生会对这部分课程的学习感到乏味,从而失去学习兴趣。后部分软件测试,是需要动手操作比较多的实践环节。由于接触软件测试的教师比较少,他们没有真正的接触软件测试这一行业,实践动手能力有所欠缺。这就导致学生在一种操作还未熟练的情况下就要进入下一个实践环节的训练,学生缺乏独立动手完成实践任务的成就感,久而久之学生对实践环节的兴趣也不高。
二、教学方法的改进
(一)教学内容
软件质量保证与测试这门课程主要由测试、质量保证及实践三个环节构成。其中包括软件质量保证的基本概念、方法以及质量保证的思想,软件工程的相关概念,软件测试的各种方法以及相关测试用例设计。通过这门课程的学习,学生应掌握如何提高软件质量、如何选择软件测试方法、如何设计测试用例、如何撰写软件测试报告以及如何准确定位软件缺陷等方面的内容。
这门课程的授课时间为48学时,其中实践授课16学时,理论授课32学时。软件质量保证与测试这门课程既要注重理论教学,又要求授课教师具有丰富的实践项目经验,是一门实践与理论相结合的课程。
理论授课主要包括两方面内容:一个是软件质量保证相关知识,另一个是软件测试基础相关概念、思想及方法。其中,这两方面的主要授课内容如下。
1.软件质量保证。其中包括软件质量,软件质量工程体系,软件质量度量和配置,可靠性度量和测试,软件评审,软件质量管理方法,ISO9001质量体系对项目过程的指导等。通过这部分内容的学习,使学生对软件质量保证的理论和方法有一个初步的认识。
2.软件测试。其中包括软件测试的定义、目标和原则;软件测试的过程,包括单元测试、集成测试、系统测试、验收测试;软件测试方法,包括黑盒测试、白盒测试以及灰盒测试。通过这些内容的学习,使学生认识到软件测试的重要性,掌握白盒测试、黑盒测试的各种测试方法以及相应测试用例的设计。
实践教学的内容实质是在巩固理论知识,教师应对学生所学的软件测试知识进行引导。在教学过程中,教师应以具体的项目为驱动,培养学生将所学理论知识应用于实践的能力,让学生体验项目开发的规范与原则,积累宝贵的项目开发经验。
(二)教学目标
本课程教学目标主要体现在两个方面:打牢专业知识;以项目驱动提高实践能力。
1.打牢专业知识
软件质量保证与测试是总结于实践的抽象理论,是对软件开发的总结和指导,涉及计算机技术、工程学、管理学等多领域的知识。在做好教学的同时,教师还要加强软件基础理论等其他知识的教学,培养学生对问题空间分析和建模的能力及运用算法求解问题的能力。
2.以项目驱动提高实践能力
(1)理论与实际相结合。项目驱动教学就是要达到理论与实际的有机结合,让理论能够指导实践,实践可以加深对理论的理解。
(2)通过项目的分析及开发提高学生的实践能力。在授课过程中采用课堂讲授、案例教学、项目驱动的方式来实现对学生实践能力的培养。
(3)项目驱动积累开发经验。在教学过程中以具体的项目为驱动,培养学生将所学理论知识应用于实践的能力,体验项目开发的规范与原则,积累宝贵的项目开发经验。
(4)通过案例教学提高学习兴趣。让学生对实际的项目开发有最初的印象,提高学生的学习兴趣(在课堂上挑选典型成功的案例让学生们揣摩学习,找出失败的案例给学生们以警示)。
(5)通过团队合作教学方法培养学生的团队意识。
(三)实验大纲的改进
该课程主要侧重于实践教学。通过实践参与,学生可掌握质量保证的基本概念、测试用例的设计与执行执行、测试报告的书写、软件缺陷及软件测试错误的分析和描述。实验采用分组的形式完成,每组由5-7名学生组成,每组设置一名组长。组长的责任就是制定测试计划以及协调组员之间的分工合作;组员对于组长所分配的模块进行相应的测试用例的设计以及测试报告的撰写等。充分发挥学生的沟通能力,鼓励学生发挥想象力,对各种测试方法进行尝试,在最后报告中要求写出具体的思路和分析结果。
(四)考核方式的改革
传统的笔试考核方法难以在教学的过程中把握学生的学习效果,难以充分调动学生学习的主动性、难以提高学生的学习兴趣。因此,要改革软件质量保证与测试课程的考核方式,建立科学的评价机制。软件质量保证与测试课程考核的重点不应是理论,而应该是学生是否掌握了软件质量保证与测试学的思想和方法。要从学生运用软件质量保证与测试的原理、方法、技术、标准和规范进行软件开发的综合能力,以及软件项目的管理能力,特别是基础技能、团队协作、人际交流、项目规划这几个方面的能力同时进行考核。具体考核由三部分组成:理论成绩占40%,实践成绩占40%,平时成绩占20%。理论成绩考核就是学生笔试的卷面成绩;实践成绩就是在完成项目情况及答辩演示中的成绩,这主要包括两个方面,一是项目文档,二是项目产品;平时成绩主要包括学生日常在团队中的表现、责任心、出勤等方面。最后教师要及时地进行总结,将教学过程中存在的问题逐一分析,并提出解决方案,撰写相关书面材料,与学生项目材料一并存档,以备下次开课时用。
三、结束语
通过对软件质量保证与测试这门课程存在的问题进行综合分析,对其教学方法进行了相应的改进。学生在经历了软件开发与测试的全过程后,自身的系统分析能力、设计能力、编程能力、测试和维护能力、团队协作能力和文档书写能力得到了提高,职业综合素质也得到增强。
[ 参 考 文 献 ]
[1] 劳东青,陈立平.软件质量保证与测试,课程教学探讨与实践[J].中国现代教育装备,2015(4):63-66.
[2] 明鑫,卢丹萍.高职非计算机专业《C语言程序设计》课程教学方法探讨[J].轻工科技,2015(8):162-171.
[3] 杨根兴,蔡立志,陈昊鹏,蒋建伟.软件质量保证:测试与评价[M].北京:清华大学出版社,2007.
[4] 朱三元.软件质量及评价技术[M].北京:清华大学出版社,1990.
[5] 朱少民.软件测试方法和技术[M].北京:清华大学出版社,2007.
[6] 杨晓京.“优化设计”课程网络教学平台应用实践[J].大学教育,2013(7):90.
[7] 古乐,史九林.软件测试案例与实践教程[M].北京:清华大学出版社,2007.
[责任编辑:陈 明]
[摘 要]针对软件质量保证与测试课程教学实践过程中发现的问题,以项目驱动为前提,从教学方法与手段、实践大纲、考核方式改进等方面,对软件质量保证与测试这门课程的教学模式进行初步的探讨与实践。
[关键词]软件质量保证;软件测试;项目驱动
[中图分类号] G642 [文献标识码] A [文章编号] 2095-3437(2016)04-0120-02
随着软件变成日常生活中不可或缺的一部分,客户和最终用户对他们购买的软件质量越来越看重。性能糟糕或用户体验质量低的应用程序或企业系统将被淘汰,其他产品很容易取代它们的位置。
软件开发者想要质量高、稳定性好的软件产品,用户则希望能有有效、稳定、经济的软件产品。然而,只有通过软件质量保证和软件测试才能提高软件质量。高校担负着培养软件质量保证和软件测试人员的主要责任。对计算机学院的软件质量保证与测试系来说,其面临的一项重要挑战就是如何解决软件质量保证与测试专业理论与实践严重脱节的问题。
为更好地解决软件专业毕业生的就业问题,我校计算机科学与工程学院成立了软件工程系,并与NIIT软件公司合作,建立“软件工厂”,培养软件人才,将软件质量保证与测试[1]作为该系的一门专业必修课来开设。下面以就业为导向,针对教学过程中存在的问题,从教学内容的选择、实践内容的加强、实验大纲的改进、考核方式的改革等几方面,对该课程的教学进行初步的探讨。
一、教学过程中存在的问题
(一)学生方面
软件质量保证与测试这门课程,覆盖了两方面:一是软件质量保证,这部分理论性比较强,学生在进行这一部分学习的时候,会感觉到枯燥乏味;二是软件测试,这部分课程主要讲解测试方法,比如白盒测试和黑盒测试等。软件专业的学生认为,对软件开发的IT人员来说,软件测试没有软件开发好就业。他们没有认清楚软件测试行业的内部需求,从而丧失了对这门课程学习的主动性和积极性。[2]
(二)教师方面
部分教师在教学过程中,没有合理的分配教学时间。这门课的前部分,也就是软件质量保证部分,其理论内容繁琐,结构比较复杂。教师在这部分课程的教学过程中,如果不能结合具体的项目实例讲解,学生会对这部分课程的学习感到乏味,从而失去学习兴趣。后部分软件测试,是需要动手操作比较多的实践环节。由于接触软件测试的教师比较少,他们没有真正的接触软件测试这一行业,实践动手能力有所欠缺。这就导致学生在一种操作还未熟练的情况下就要进入下一个实践环节的训练,学生缺乏独立动手完成实践任务的成就感,久而久之学生对实践环节的兴趣也不高。
二、教学方法的改进
(一)教学内容
软件质量保证与测试这门课程主要由测试、质量保证及实践三个环节构成。其中包括软件质量保证的基本概念、方法以及质量保证的思想,软件工程的相关概念,软件测试的各种方法以及相关测试用例设计。通过这门课程的学习,学生应掌握如何提高软件质量、如何选择软件测试方法、如何设计测试用例、如何撰写软件测试报告以及如何准确定位软件缺陷等方面的内容。
这门课程的授课时间为48学时,其中实践授课16学时,理论授课32学时。软件质量保证与测试这门课程既要注重理论教学,又要求授课教师具有丰富的实践项目经验,是一门实践与理论相结合的课程。
理论授课主要包括两方面内容:一个是软件质量保证相关知识,另一个是软件测试基础相关概念、思想及方法。其中,这两方面的主要授课内容如下。
1.软件质量保证。其中包括软件质量,软件质量工程体系,软件质量度量和配置,可靠性度量和测试,软件评审,软件质量管理方法,ISO9001质量体系对项目过程的指导等。通过这部分内容的学习,使学生对软件质量保证的理论和方法有一个初步的认识。
2.软件测试。其中包括软件测试的定义、目标和原则;软件测试的过程,包括单元测试、集成测试、系统测试、验收测试;软件测试方法,包括黑盒测试、白盒测试以及灰盒测试。通过这些内容的学习,使学生认识到软件测试的重要性,掌握白盒测试、黑盒测试的各种测试方法以及相应测试用例的设计。
实践教学的内容实质是在巩固理论知识,教师应对学生所学的软件测试知识进行引导。在教学过程中,教师应以具体的项目为驱动,培养学生将所学理论知识应用于实践的能力,让学生体验项目开发的规范与原则,积累宝贵的项目开发经验。
(二)教学目标
本课程教学目标主要体现在两个方面:打牢专业知识;以项目驱动提高实践能力。
1.打牢专业知识
软件质量保证与测试是总结于实践的抽象理论,是对软件开发的总结和指导,涉及计算机技术、工程学、管理学等多领域的知识。在做好教学的同时,教师还要加强软件基础理论等其他知识的教学,培养学生对问题空间分析和建模的能力及运用算法求解问题的能力。
2.以项目驱动提高实践能力
(1)理论与实际相结合。项目驱动教学就是要达到理论与实际的有机结合,让理论能够指导实践,实践可以加深对理论的理解。
(2)通过项目的分析及开发提高学生的实践能力。在授课过程中采用课堂讲授、案例教学、项目驱动的方式来实现对学生实践能力的培养。
(3)项目驱动积累开发经验。在教学过程中以具体的项目为驱动,培养学生将所学理论知识应用于实践的能力,体验项目开发的规范与原则,积累宝贵的项目开发经验。
(4)通过案例教学提高学习兴趣。让学生对实际的项目开发有最初的印象,提高学生的学习兴趣(在课堂上挑选典型成功的案例让学生们揣摩学习,找出失败的案例给学生们以警示)。
(5)通过团队合作教学方法培养学生的团队意识。
(三)实验大纲的改进
该课程主要侧重于实践教学。通过实践参与,学生可掌握质量保证的基本概念、测试用例的设计与执行执行、测试报告的书写、软件缺陷及软件测试错误的分析和描述。实验采用分组的形式完成,每组由5-7名学生组成,每组设置一名组长。组长的责任就是制定测试计划以及协调组员之间的分工合作;组员对于组长所分配的模块进行相应的测试用例的设计以及测试报告的撰写等。充分发挥学生的沟通能力,鼓励学生发挥想象力,对各种测试方法进行尝试,在最后报告中要求写出具体的思路和分析结果。
(四)考核方式的改革
传统的笔试考核方法难以在教学的过程中把握学生的学习效果,难以充分调动学生学习的主动性、难以提高学生的学习兴趣。因此,要改革软件质量保证与测试课程的考核方式,建立科学的评价机制。软件质量保证与测试课程考核的重点不应是理论,而应该是学生是否掌握了软件质量保证与测试学的思想和方法。要从学生运用软件质量保证与测试的原理、方法、技术、标准和规范进行软件开发的综合能力,以及软件项目的管理能力,特别是基础技能、团队协作、人际交流、项目规划这几个方面的能力同时进行考核。具体考核由三部分组成:理论成绩占40%,实践成绩占40%,平时成绩占20%。理论成绩考核就是学生笔试的卷面成绩;实践成绩就是在完成项目情况及答辩演示中的成绩,这主要包括两个方面,一是项目文档,二是项目产品;平时成绩主要包括学生日常在团队中的表现、责任心、出勤等方面。最后教师要及时地进行总结,将教学过程中存在的问题逐一分析,并提出解决方案,撰写相关书面材料,与学生项目材料一并存档,以备下次开课时用。
三、结束语
通过对软件质量保证与测试这门课程存在的问题进行综合分析,对其教学方法进行了相应的改进。学生在经历了软件开发与测试的全过程后,自身的系统分析能力、设计能力、编程能力、测试和维护能力、团队协作能力和文档书写能力得到了提高,职业综合素质也得到增强。
[ 参 考 文 献 ]
[1] 劳东青,陈立平.软件质量保证与测试,课程教学探讨与实践[J].中国现代教育装备,2015(4):63-66.
[2] 明鑫,卢丹萍.高职非计算机专业《C语言程序设计》课程教学方法探讨[J].轻工科技,2015(8):162-171.
[3] 杨根兴,蔡立志,陈昊鹏,蒋建伟.软件质量保证:测试与评价[M].北京:清华大学出版社,2007.
[4] 朱三元.软件质量及评价技术[M].北京:清华大学出版社,1990.
[5] 朱少民.软件测试方法和技术[M].北京:清华大学出版社,2007.
[6] 杨晓京.“优化设计”课程网络教学平台应用实践[J].大学教育,2013(7):90.
[7] 古乐,史九林.软件测试案例与实践教程[M].北京:清华大学出版社,2007.
[责任编辑:陈 明]