随着国内软件技术的不断发展,软件测试人才缺口越来越大,为了满足市场需求,很多高校陆续开设了“软件测试技术”课程。该课程的教学目的是让学生掌握软件测试基本理论和方法,体会设计测试用例的技巧,学会使用测试工具进行软件的测试等,为软件测试工程师岗位及软件开发岗位打下坚实的基础。
1 软件测试技术课程的特点
软件测试技术作为计算机相关专业特别是软件工程专业的核心课程,具有以下一些特点:(1)基本概念多:软件测试技术课程的基本概念较多、较抽象,掌握基本概念是后续学习的基础。(2)实践性强:软件测试技术要求学生掌握流行的软件测试工具,熟练使用工具进行软件测试。(3)技巧性高:学会设计测试用例是软件测试的重点及难点,而如何设计出高质量的测试用例需要测试经验和技巧。
2 软件测试技术课程的重点概念理解
软件测试基本概念是该课程的重点及难点,如何有效地让学生理解掌握基本概念是教学过程中的一大难题,该文将列举一些重要概念。
(1)软件:软件=程序+文档+数据。软件不再是单一的程序代码,随着程序功能愈加复杂,规模愈加增大,软件还包括其生命周期中的相关文档及用户使用后产生的相关数据。其相关文档有:需求规格说明书,测试计划书,测试用例,测试结论,产品使用说明书,维修记录等;其相关数据有:用户的账号,密码,使用过程发送的信息,接收的文件等。
(2)软件测试:软件测试的对象是软件,方法有手工和自动化,自动化工具主要有Load Runner和QTP,目标是找问题,终极目标是保证软件质量。因此软件测试是指为提高软件质量,主要利用自动化测试工具偶尔采用手工方式,结合测试用例反复对软件找问题及评估软件质量的过程。
(3)软件缺陷:软件缺陷也叫软件bug,指软件存在的问题,这些bug会阻碍软件功能的正常实现,导致软件质量低下。若交付给客户使用,可能会带来不可挽回的损失。
(4)测试用例:测试用例是为测试特定功能开发的一组测试输入、执行条件和预期结果的数据集合。当测试人员完成测试后,还需给测试用例加上一组测试后的数据,该测试后的数据也称实际结果。
(5)软件测试与软件开发的并行性:国内企业,软件测试与软件开发在时间上大部分是同步的,从软件生命周期开始,软件测试也将介入工作。软件开发的每一个步骤,软件测试均有对应的流程,如此来提高软件质量。综上所述,软件测试基本概念比较理论抽象,对于很多软件工程专业的学生来说,只是停留在片面的将软件理解为程序,更无法理解软件测试及测试用例相关概念。因此,在现实中寻找案例帮助学生理解以上重要概念意义非凡。
3 郎中治病
众所周知,郎中通过望、闻、问、切等人工方式甚至采用医疗器械来诊断病人,同时可能会根据病人之前的病历来确诊病人存在的问题。郎中诊断后会在病人的病历上做记录,写明发病症状及结论,最后给病人提出治病方案。郎中治病的对象是病人,方法有人工和工具方式,目标是给病人找毛病,终极目标是恢复病人的健康。从这个层面看,郎中治病与软件测试是相通的,它们有相同之处。作为现实中最普遍的案例,且同学们自己本身都有经历,对于其流程有过深刻体会,因此将郎中治病作为软件测试教学的引入案例是可取的。
4 郎中治病在软件测试教学的应用
在软件测试教学中,适当的引入郎中治病可较好地引导学生理解以下基本概念:
(1)郎中治病的对象是病人,软件测试的对象是软件。
(2)郎中通过望、闻、问、切等方式了解病人病情,属于人工方式的诊断,测试人员评审需求规格文档,检查程序数据结构算法等则属于人工方式的测试;若郎中借助医疗器械诊断病人,那么类似于测试人员借助工具寻找软件问题,属于自动化方式。
(3)有些病情采用自动化工具无法诊断,必须通过人工方式,比如中医,因此工具无法代替人工。有些软件也必须人工测试才可找到问题,工具不是万能的,不能取代手工。
(4)郎中治病可提高病人的身体素质即保证病人的身体健康,测试人员测试软件则可提高软件质量。
(5)病人不舒服叫生病,软件不正常则叫bug,或有缺陷。病人生病无法正常生活、工作,类似于软件有缺陷则无法正常运行。
(6)郎中诊断病人后,将病人的病情与健康标准对比,若不一致说明病人此处生病了,若一致则说明此处是健康的。类似于测试人员将测试后的结果与需求规格上的标准对比,若一致说明此处无bug,若不一致则说明此处有问题。这是衡量是否为bug的方法。
(7)大部分人一旦有些不舒服,比如感冒,一般会马上去找郎中诊断治病,而不会等到感冒发展成大病才重视,生病与治病并行。类似于软件一旦开发就进行测试,不会等到软件交付给用户使用出现了损失才补救,因此大部分国内企业主要采用的是开发与测试同步。虽然预防人生病是最好的,但大部分人因技术不够无法做好预防,类似于预防软件出问题是最好的选择,但因测试技术跟不上,同样无法做到测试早于开发。
(8)郎中诊断病人,最终不能保证病人不存在一点点亚健康,完完全全健康的人很少,类似于软件测试反复给软件找问题,但最终软件还是会存在缺陷,没有错误的软件世间难求。
5 结语
郎中治病是现实生活中普遍的案例,由于其具有和软件测试相通的流程,故可将该案例带入课堂。教学中将郎中治病与软件测试进行比较分析,不仅形象生动,还易于理解。因此,郎中治病是一个较成功的案例,可在软件测试教学中广泛应用。(本文由中国论文平台网提供,如有更多需要,可登陆官网咨询客服。)