- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[高等教育]课件3
第7章 实现(编码与测试) 本章内容 7.1 编码 7.2 软件测试基础 7.3 单元测试 7.4 集成测试 7.5 确认测试 7.6 白盒测试技术 7.7 黑盒测试技术 7.8 调试 7.9 软件可靠性 7.1 编 码 选择程序设计语言的一般准则: 1. 系统用户的要求。 2. 可以使用的编译程序。 3. 可以得到的软件工具 4. 工程规模 5. 程序员的知识。 6. 软件可移植性要求 7.软件的应用领域。 7.1.2 编码风格 1. 源程序文档化 2. 数据说明 3. 语句构造 4. 输入输出 5. 效率 程序效率 程序的效率是指程序的执行速度及程序所需占用的内存的存储空间 算法对效率的影响:在详细设计翻译转换成源程序代码后,算法效率反映为程序的执行速度和存储容量的要求 指导原则:详细设计到程序 ① 在编程序前,尽可能化简有关的算术表达式和逻辑表达式; ② 仔细检查算法中的嵌套的循环,尽可能将某些语句或表达式移到循环外面; ③ 尽量避免使用多维数组; ④ 尽量避免使用指针和复杂的表; ⑤ 采用“快速”的算术运算; ⑥ 不要混淆数据类型,避免在表达式中出现类型混杂; ⑦ 尽量采用整数算术表达式和布尔表达式; ⑧ 选用等效的高效率算法; 对内存采取基于操作系统的分页功能的虚拟存储管理。 存储效率与操作系统的分页功能直接有关 7.2 软件测试基础 软件测试的目的 基于不同的立场,存在着两种完全不同的测试目的: 从用户的角度出发,希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。 从软件开发者的角度出发,希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。 Myers软件测试目的 Grenford J. Myers在《The Art of Software Testing》一书中的观点: (1)软件测试是为了发现错误而执行程序的过程; (2)测试是为了证明程序有错,而不是证明程序无错误; (3)一个好的测试用例是在于它能发现至今未发现的错误; (4)一个成功的测试是发现了至今未发现的错误的测试。 换言之,测试的目的是 想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。 测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。 实施测试收集到的测试结果数据为可靠性分析提供了依据。 测试不能表明软件中不存在错误,它只能说明软件中存在错误。 软件测试准则 1、所有测试都应该能追溯到用户需求。 2、应该远在测试开始之前就制定出测试计划。 3、把Pareto原理应用到软件测试中(注意测试中的集群现象):尽早地和不断地进行软件测试 4、应该从“小规模”测试开始,并逐步进行“大规模”测试。 5、穷举测试是不可能。 6、为了达到最佳的测试效果,应该由独立的第三方从事测试工作。 测试方法 黑盒测试(功能测试,数据驱动测试) 把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。 在程序接口进行的测试,只检查程序功能是否能按规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息。 白盒测试(结构测试,逻辑驱动测试) 把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理算法。 按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按照预定要求正确工作。 测试步骤 1、模块测试(单元测试) —保证一个模块作为一个单元能正确运行,发现编码和详细设计的错误。 2、子系统测试 —着重测试模块的接口。 3、系统测试 4、验收测试(确认测试) 5、平行运行 —同时运行新系统和旧系统。 测试信息流(解释) 软件配置:软件需求规格说明、软件设计规格说明、源代码等; 测试配置:测试计划、测试用例、测试程序等; 测试工具:测试数据自动生成程序、静态分析程序、动态分析程序、测试结果分析程序、以及驱动测试的测试数据库等等。 测试结果分析:比较实测结果与预期结果,评价错误是否发生。 排错(调试):对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档。 修正后的文档再测试:直到通过测试为止。 通过收集和分析测试结果数据,对软件建立可靠性模型 利用可靠性分析,评价软件质量: 软件的质量和可靠性达到可以接受的程度; 所做的测试不足以发现严重的错误; 如果测试发现不了错误,可以肯定,测试配置考虑得不够细致充分,错误仍然潜伏在软件中。 7.3 单元测试 单元测试的目的 单元测试又称模块测试,针对软件设计的最小单位 ——程序模块,进行正确性检验的测试工作。 目的:发现各模块内部可能存在的各种差错。 单元测试需要从程序的内部结构
文档评论(0)