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

基于测试驱动开发C语言教学探究摘要:本文结合c语言课程的教学实践,提出了将测试驱动开发引入C语言教学的方法,并通过实例说明该方法能给学生提供一种全新的思维模式,帮助学生解决实际问题,提高程序编写的质量。该研究成果取得了良好的教学效果,受到学生的普遍欢迎。关键词:测试驱动开发;C语言;软件测试中图分类号:TP301.2文献标识码:ADoi:10.3969/j.issn.1003-6970.2012.05.040[Abstract]thispapercombinesclanguageteachingpractice,presentsamethodofintroducingtest-DrivenDevelopmentintoclanguageteaching,andtheexampleshowsthatthismethodcanprovideanewmodeofthinking,helpstudentstosolvepracticalproblemsandimprovethequalityofprogramming,theresearchhasobtainedthegoodteachingeffectandiswidelywelcomedbystudents.[Keywords]test-DrivenDevelopment;cLanguage;Softwaretest.测试驱动开发是一种新的快速软件开发方法,它的基本思想是用测试推动整个软件开发的进行,即在系统开发之前,先编写“测试代码”,列举典型的测试用例,然后再编写“功能代码”,实现部分或全部系统的功能,确保所有事先准备的测试用例全部通过。C语言是信息类专业一门重要的专业基础课,在整个课程体系中占有举足轻重的地位。学好C语言,可以为后续的数据结构、数据库、操作系统等课程的学习打下坚实的基础。教学工作者对C语言教学作了很多研究,提出了不少实用的方法。在本文中,我们提出将测试驱动开发理念引入C语言教学中。这种方法在近几年的教学实践中推广使用,获得了良好的教学效果。在多年的C语言教学中,我们发现,初学者在学习C语言的障碍来自于多个方面,其中主要有2个方面的原因:(1)缺乏计算机的程序化思维模式。作为大学生的第一门计算机语言,很多学生刚开始学习编程时,往往不知从何处入手。出现这个问题的原因是学生不能正确认识计算机能做什么工作,以及实际问题的解决步骤和算法o(2)不能深入理解程序的执行过程。要想学好C语言,必须理解C语言语句的执行顺序和执行效果。有了这方面的知识,就会领悟计算机解决问题的方法和实质。同时,也就会解决(1)中所提到的问题。怎样才能深入理解程序的执行过程呢?要借助于调试工具。通过调试,我们可以单步运行程序,能清晰地查看程序运行的流程以及相关变量值的变化过程。由此可见,调试在C语言学习和实践中起着至关重要的作用[1]。调试与测试有着极大的内在联系。一般来说,调试是指在软件开发过程中,定位并排除程序中的错误,而软件测试是通过验证一些测试用例,找出软件中存在的错误。因此可以说,调试中要进行大量的测试,测试中(特别是白盒测试)要借鉴调试的方法。将测试驱动开发引入到C语言教学中,可以让学生熟悉调试与测试的过程,提供了一种解决实际问题的思维模式,让学生养成测试的习惯,确保程序开发的质量。为了更好地理解测试驱动开发方法的优越性以及在C语言教学中的应用,下面以一个实例来进行说明。例如,要求用户从键盘输入一个年份,接着判断该年份是否为闰年。这个问题是参考文献[1]中的一个例题,学习过C语言的同学几乎都做过。对于初次遇见这个题目的学生来说,还是感觉有一定难度的。然而,当看完教材的解释以后,思路就会变得很清晰。由此可见,问题的结症在于闰年判定规则的建立。怎样才能快速总结出规则并解决问题呢?一种很自然的想法就是列举一些实例,再总结出规则。比如,闰年的情况有2000、2012、1996,非闰年的情况有2011、1998、1900。这两组年份符合一些什么规则呢?最容易找出的一个规则是,不能被4整除的一定不是闰年,如2011、1998O再来分析一下1900,为什么它也不是闰年呢?因为它能被100整除,则要求能被400整除才算是闰年,否则就不是闰年。由于不满足这个条件,1900年就不是闰年。于是判断不是闰年的第二条规则也找出来了[2]。其实,考虑到这个程度,我们已经把不是闰年的情况全部列出来了,其它情况当然就是闰年。完成了“列举实例”、“总结规则"这两个步骤后,接下来就是编程实现了。我们按照“自顶向下,逐步细化”的思想,首先编写出程序的最初框架:添加...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?