资源说明:
《白盒测试策略》由会员上传分享,可免费在线阅读。 更多相关内容请参见工程材料-天天图书馆。
1.我不怎么做白盒,但我通常会使用自动化测试工具,例如或白盒工具。 目的是发现代码编写中的规范性错误以及可能导致代码效率低下的问题等,主要可分为静态检查和动态检查。 静态方法是直接扫描代码,不编译执行。 动态方法需要编译执行才能发现问题,并且可以发现一些内存泄漏。你提到的语句覆盖、条件覆盖和路径覆盖实际上都是白盒测试策略。 覆盖率测试基于理解程序的逻辑结构。 就是看你正在测试的代码覆盖了程序中有多少条路径。 其实一般缺陷也更容易隐藏
2、对于那些不容易执行的分支和语句,白盒测试的目的其实就是尽可能多地发现代码的问题。 显然,如果有明显的错误,编译就不会通过。 关键是要查找可能导致程序执行错误、输入异常错误、内存泄漏、代码执行效率低等问题,还是需要一定的编程和调试经验。 一般来说,白盒测试对于测试人员来说非常有用。 这都是一个挑战。 测试人员是辅助你进行盒子测试的强大工具,但关键还是要靠人来发现问题。 工具只是武器。 本文是作者使用Junit进行单元测试时的测试计划的一部分。 我在这里分享一下。 希望大家多多指教。 测试策略 1. 类测试阶段 • 确保类实例已满
3、脚类的设计说明; • 测试驱动:使用Jimit实现独立的测试类; • 如果类的实例方法不与任何类交互,则确保 100% 的覆盖率; • 先测试非交互类,然后逐步组合测试; •使用工具进行类代码覆盖率测试; •类测试用例确定方法Z—:根据前置条件和后置条件确定测试用例(前置条件中可以指定输入值,包括公共值和边界,以增加测试用例的测试覆盖率) ,根据前置条件和后置条件的不同组合生成不同的测试用例。 具体测试方法; • 类测试用例确定方法Z2:根据代码确定测试用例。 所有声明的方法都需要测试(确定);P
4、选择声明的方法进行测试(模糊); 所有声明的方法都禁止测试(明确)。 • 确定类测试用例的第三种方法:根据状态转换确定测试用例。 •用例命名方法: 1.根据用例方法命令; 2. 根据前提条件和后置条件命名。 •尽量使测试代码与数据无关(不要因为外部数据不同而产生不同的结果)。 •执行语句覆盖率分析。 2、功能确认和接口测试 测试阶段 • 根据需求描述(软件概要设计规范和详细设计规范)确定用例,然后编写测试代码以满足需求中描述的功能。 • 验证程序与详细设计规范的一致性: • 功能
5、确认和连接测试范围:单元接口、局部数据结构、重要执行路径、错误处理路径、影响上述点的边界条件。 首先进行简单的功能验证测试,通过后再进行功能复合。 功能测试; • 如果简单的功能测试通过,则进行条件组合匹配测试和路径覆盖测试; • 测试边界条件:未初始化、Null 值、最大值和最小值、临界值、初始值等; • 检查各软件单元模块是否能够正确实现其功能并满足其性能和接口要求; •单元测试测试各个单元模块,集成测试进一步将单元按钮组装成组件并测试正确性; •进行逻辑覆盖率分析。 3. 性能和效率测试阶段 • 单功能运行时间分析; • 典型的选择
6、使用多线程连续运行测试用例,观察运行情况; •单个二号性能分析、二号调用频率分析、代码执行频率分析、响应时间、并发量; •在源代码的入口和出口处进行,然后收集时间数据来衡量代码的运行时间和调用时间; • 优化影响性能的代码段; 4. 内存分析 • 内存分配不成功,但是被使用了 • 虽然内存分配成功,但是还没有在初始化时引用它 • 内存分配成功并且已经初始化,但是操作越界了内存 • 忘记释放内存,导致内存泄漏 • 释放内存但继续使用 • 使用全局测试工具分析(等)
7.“白盒”静态和动态测试完成 2007-4-3013:20 作者:未知 来自:赛迪网 一般情况下,嵌入式软件测试一般采用黑盒测试和白盒测试相结合的方式。 另外,卡带测试一般分为静态测试和动态测试。 静态测试并不实际运行软件,而是主要评估软件的编程格式、结构等,而动态测试则需要在Host环境或Host环境中实际运行软件,利用设计的测试用例来检测软件漏洞。 静态测试 静态测试包括代码检查、静态结构分析、代码质量测量等。可以手动完成,充分发挥人类逻辑思维的优势,也可以借助软件工具手动完成。代码检查代码检查包括代码
8、代码走查、桌面检查、代码审查等主要检查代码与设计的一致性、代码的符合标准、可读性、代码逻辑表达的正确性、代码结构的合理性等.; 可以发现违反编程标准的问题,程序中不安全、不清楚和不明确的部分,识别程序中不可移植的部分,以及违反编程风格的问题,包括变量检查、命名和类型审查、程序逻辑审查和程序语法检查和程序结构检查等内容。 在实际使用中,代码检查比动态测试更有效率。 能够快速发现缺陷,发现30%~70%的逻辑设计和编码缺陷; 代码检查看到的是问题本身而不是症状。但是代码检查非常耗时