基于测试驱动开发C语言教学探究

基于测试驱动开发C语言教学探究

ID:43962993

大小:25.00 KB

页数:5页

时间:2019-10-17

基于测试驱动开发C语言教学探究_第1页
基于测试驱动开发C语言教学探究_第2页
基于测试驱动开发C语言教学探究_第3页
基于测试驱动开发C语言教学探究_第4页
基于测试驱动开发C语言教学探究_第5页
资源描述:

《基于测试驱动开发C语言教学探究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于测试驱动开发C语言教学探究摘要:本文结合c语言课程的教学实践,提出了将测试驱动开发引入C语言教学的方法,并通过实例说明该方法能给学生提供一种全新的思维模式,帮助学生解决实际问题,提高程序编写的质量。该研究成果取得了良好的教学效果,受到学生的普遍欢迎。关键词:测试驱动开发;C语言;软件测试中图分类号:TP301.2文献标识码:ADoi:10.3969/j.issn.1003-6970.2012.05.040[Abstract]thispapercombinesclanguageteachingpractice,presentsamethodofintrodu

2、cingtest-DrivenDevelopmentintoclanguageteaching,andtheexampleshowsthatthismethodcanprovideanewmodeofthinking,helpstudentstosolvepracticalproblemsandimprovethequalityofprogramming.theresearchhasobtainedthegoodteachingeffectandiswidelywelcomedbystudents・[Keywords]test-DrivenDevelopmen

3、t;cLanguage;Softwaretest.测试驱动开发是一种新的快速软件开发方法,它的基本思想是用测试推动整个软件开发的进行,即在系统开发之前,先编写“测试代码”,列举典型的测试用例,然后再编写“功能代码”,实现部分或全部系统的功能,确保所有事先准备的测试用例全部通过。C语言是信息类专业一门重要的专业基础课,在整个课程体系中占有举足轻重的地位。学好C语言,可以为后续的数据结构、数据库、操作系统等课程的学习打下坚实的基础。教学工作者对C语言教学作了很多研究,提出了不少实用的方法。在本文中,我们提出将测试驱动开发理念引入C语言教学中。这种方法在近几年的教学

4、实践中推广使用,获得了良好的教学效果。在多年的C语言教学中,我们发现,初学者在学习C语言的障碍来自于多个方面,其中主要有2个方面的原因:(1)缺乏计算机的程序化思维模式。作为大学生的第一门计算机语言,很多学生刚开始学习编程时,往往不知从何处入手。出现这个问题的原因是学生不能正确认识计算机能做什么工作,以及实际问题的解决步骤和算法。(2)不能深入理解程序的执行过程。要想学好C语言,必须理解C语言语句的执行顺序和执行效果。有了这方面的知识,就会领悟计算机解决问题的方法和实质。同时,也就会解决(1)中所提到的问题。怎样才能深入理解程序的执行过程呢?要借助于调试工具。

5、通过调试,我们可以单步运行程序,能清晰地查看程序运行的流程以及相关变量值的变化过程。由此可见,调试在C语言学习和实践中起着至关重要的作用[1]。调试与测试有着极大的内在联系。一般来说,调试是指在软件开发过程中,定位并排除程序中的错误,而软件测试是通过验证一些测试用例,找出软件中存在的错误。因此可以说,调试中要进行大量的测试,测试中(特别是白盒测试)要借鉴调试的方法。将测试驱动开发引入到C语言教学中,可以让学生熟悉调试与测试的过程,提供了一种解决实际问题的思维模式,让学生养成测试的习惯,确保程序开发的质量。为了更好地理解测试驱动开发方法的优越性以及在C语言教学中

6、的应用,下面以一个实例来进行说明。例如,要求用户从键盘输入一个年份,接着判断该年份是否为闰年。这个问题是参考文献[1]中的一个例题,学习过C语言的同学几乎都做过。对于初次遇见这个题目的学生来说,还是感觉有一定难度的。然而,当看完教材的解释以后,思路就会变得很清晰。由此可见,问题的结症在于闰年判定规则的建立。怎样才能快速总结出规则并解决问题呢?一种很自然的想法就是列举一些实例,再总结出规则。比如,闰年的情况有2000、2012、1996,非闰年的情况有2011、1998、1900。这两组年份符合一些什么规则呢?最容易找出的一个规则是,不能被4整除的一定不是闰年,

7、如2011、1998o再来分析一下1900,为什么它也不是闰年呢?因为它能被100整除,则要求能被400整除才算是闰年,否则就不是闰年。由于不满足这个条件,1900年就不是闰年。于是判断不是闰年的第二条规则也找出来了[2]。其实,考虑到这个程度,我们已经把不是闰年的情况全部列出来了,其它情况当然就是闰年。完成了“列举实例”、“总结规则”这两个步骤后,接下来就是编程实现了。我们按照“自顶向下,逐步细化”的思想,首先编写出程序的最初框架:添加了isLeap函数的定义以后,程序顺利通过了编译。到此为止,只能说程序已经没有语法错误了,它在逻辑上是不是完全正确呢?这就需

8、要第2步测试:编写测试用例,逐一验证其

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。