欢迎来到天天文库
浏览记录
ID:36614184
大小:276.10 KB
页数:18页
时间:2019-05-09
《《C语言单元测试》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序测试——单元测试内容梗概程序测试概述测试目的合格代码应具备的性质测试原则测试方式测试方法测试流程测试步骤测试工具程序测试概述在C语言程序编译之后,就应该着手测试的准备工作了。一般来讲,测试过程分成代码审查、单元测试、集成测试和系统测试几个阶段。而c语言的程序测试主要是对代码的测试,也就是其前面提到的单元测试。程序测试概述那么,下面我就来谈谈单元测试:单元测试是针对软件设计的最小单位——程序模块,进行正确性检验的测试工作。单元测试是程序员的一项基本职责,程序员必须对自己所编写的代码保持认真负责的态度,这是程序员的基本职业素质之一。同时单元测试能力也是程序员的一项基本能力,能力的
2、高低直接影响到程序员的工作效率与软件的质量。测试的目的1、测试的最终目的是为了避免错误的发生,确保应用程序能够正常高效的运行;2、好的测试用例在于发现至今未发现的错误;3、成功的测试是发现了至今未发现的错误的测试;4、好的测试工程师应该做到不仅发现问题,还能够帮助开发人员分析问题。合格的代码应该具备的性质根据优先级别排序:正确性清晰性规范性一致性高效性合格的代码应该具备的性质1.正确性是指代码逻辑必须正确,能够实现预期的功能。2.清晰性是指代码必须简明、易懂,注释准确没有歧义。3.规范性是指代码必须符合企业或部门所定义的共同规范包括命名规则,代码风格等等。4.一致性是指代码必须在命名上
3、(如:相同功能的变量尽量采用相同的标示符)、风格上都保持统一。5.高效性是指代码不但要满足以上性质,而且需要尽可能降低代码的执行时间。测试的原则1、应把“尽早和不断地进行软件测试”作为软件开发者的座右铭,实践证明单元测试能够尽早发现问题,减少后期测试的错误量。可以采用Junit和Jtest来辅助进行单元测试。2、测试用例应由测试输入数据、测试执行步骤和与之对应的预期输出结果三部分组成。3、应当避免由程序员检查自己的程序。(指后期系统测试阶段,不包括单元测试)4、测试用例的设计要确保能覆盖所有可能路径。在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。不合理的输入条件是指异常的
4、,临界的,可能引起问题的输入条件。测试的原则5、充分注意测试中的群集现象。经验表明,测试后程序残存的错误数目与该程序中已发现的错误数目或检错率成正比。应该对错误群集的程序段进行重点测试6、严格执行测试计划,排除测试的随意性。测试计划应包括:所测软件的功能,输入和输出,测试内容,各项测试的进度安排,资源要求,测试资料,测试工具,测试用例的选择,测试的控制方法和过程,系统的配置方式,跟踪规则,调试规则,以及回归测试的规定等等以及评价标准。7、应当对每一个测试结果做全面的检查。8、妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。测试方式静态测试:在不需要执行所测试的程序,
5、查询代码是否符合规范、对程序的数据流和控制流进行分析。动态测试:选择实际测试用例运行所测试程序,模拟用户输入。测试方法白盒测试:已知软件的实现流程,按照该流程测试,又叫结构测试、白箱测试、玻璃盒测试、基于代码的测试和基于设计的测试。耗费大量的财力、物力,对所有代码进行该种测试的可能性比较小,且对测试人员的要求比较高,一般只进行重点部分的白盒测试。黑盒测试:通过对照软件的规格说明书,基于系统应该完成的功能,而不必了解该产品的设计思路,又叫行为测试、功能测试、基于需求的测试。现场测试:由用户、需求人员、市场人员或技术支持人员进行的测试,常常是临时性的,适用于试用版的后期测试。测试流程测试流
6、程静态测试代码走查动态测试技术评审代码审查黑盒测试白盒测试功能测试性能测试攻击测试回归测试语句覆盖分支覆盖路径覆盖测试步骤在代码编写完成后的单元测试工作主要分为两个步骤:1、人工静态检查2、动态执行跟踪测试步骤人工静态检查是测试的第一步,这个阶段工作主要是保证代码算法的逻辑正确性(尽量通过人工检查发现代码的逻辑错误)、清晰性、规范性、一致性、算法高效性。并尽可能的发现程序中没有发现的错误。第二步是通过设计测试用例,执行待测程序来跟踪比较实际结果与预期结果来发现错误。经验表明,使用人工静态检查法能够有效的发现30%到70%的逻辑设计和编码错误。但是代码中仍会有大量的隐性错误无法通过视觉检
7、查发现,必须通过跟踪调试法细心分析才能够捕捉到。所以,动态跟踪调试方法也成了单元测试的重点与难点测试工具1、白盒测试工具白盒测试工具主要有:Numega、PuRe、软件纠错工具(RationalPurify)。内存资源泄漏检查:Numega中的BounceChecherRational的Purify等代码覆盖率检查:Numega的TrueCoverageRational的PureCoverageTeleLogic公司的LogiScopeMaca
此文档下载收益归作者所有