1、 软件测试
1)基本概念:软件测试在软件投入运行前对软件需求分析、设计规格说明和编码进行查错。
目的:从用户角度出发,通过软件测试暴露软件潜在的错误的缺陷;耗费最少时间与最小工作量找出软件系统潜在的各种错误和缺陷。
2)原则:尽早并不断进行软件测试;避免测试自己设计的程序;测试用例不仅有输入数据还要有与之对应的预期结果;测试用例不仅有合法的输入数据还应有非法输入数据;修改程序之后要进行回归测试;纷纷转移测试中的群集现象;妥善保留测试计划、测试用例、出错统计和最终分析报告;对每一个测试结果作全面检查;严格执行《测试计划》,排除随意性
3)对象:包括程序、数据和文档,不同阶段对象不一样。各阶段要进行验证和确认工作。
验证是保证软件正确实现特定功能的一些列活动和过程,确认是保证满足用户需求的一系列活动和过程
4)信息流: 输入:软件配置、测试配置和测试工具;输出:修正的软件文件,预测可靠性或得出纠错后可交付使用的正确软件
5)与SQA的区别:测试是SQA的一个重要环节
6)测试技术和方法
|
概念 |
要求 |
用例设计 |
|
静态分析技术 |
不执行软件,而是对《需求分析规格说明书》、《设计说明书》和源程序作结构价差、流图分析及符号执行来找出软件错误 |
|
|
|
动态分析技术(执行程序) |
白盒测试技术 |
如果已知产品内部活动方式,即可测试其内部活动是否符合设计要求。 |
程序模块的所有独立的执行路径应至少测试一次,对所有逻辑判定,真和假两种情况至少测试一次 |
1、 语句覆盖,每条语句至少执行一次,最弱的逻辑覆盖准则 2、 判定覆盖,每个判断真假分支各至少经历一次,分支覆盖 3、 条件覆盖,每个条件可能取值至少执行一次 4、 判定/条件覆盖,每个判断的所有条件取值组合至少执行一次 5、 条件组合覆盖:每个判断的所有可能条件取值组合至少执行一次,最强的 6、 点覆盖,经过程序图中每个节点,相当于语句覆盖 7、 边覆盖,经过程序图中每个边,相当于判定覆盖 8、 路径覆盖,程序每条可能路径都执行一次,相当强的逻辑覆盖 |
黑盒测试技术 |
在已知产品应具有功能的情况下,通过测试来检验是否每个功能都正常实现的测试方法 |
1、等价类划分:一个测试用例尽可能多的覆盖有效等价类,直至所有的都被覆盖,一个测试用例覆盖仅一个无效等价类,直至所有物效等价类被覆盖 |
1、 等价类划分 2、 边界值分析,是对1的补充。选取的数据应大于、小于和等于边界值 3、 因果图法。 4、 错误推断法 |
7)测试策略:是把软件测试用例的设计方法集成到一系列已经周密计划过的步骤中,从而使得软件的开发得以成功完成。4个步骤
单元测试,也叫模块测试、逻辑测试、结构测试,一般采用白盒法,路径覆盖,测试模块结构、局部数据结构、重要执行路径、错误处理、边界测试。需要设计驱动模块(用于接收测试数据,启动被测模块)和桩模块(也叫存根模块,接受测试模块的调用和输出数据)
集成测试,也叫组装测试、综合测试及联合测试,按设计要求把各模块组装后测试。分为非渐增式测试和渐增式测试,其中渐增式测试(每次增加一个模块测试)又分为自顶向下结合(深度优先策略、宽度优先策略)和自底向上结合
确认测试,又称有效性测试、合格测试或验收测试,由用户参加测试,检验软件规格说明的技术标准的符合程度,保证软件质量的最后关键环节。一方面通过一系列黑盒测试证实软件功能与用户需求是否一致,另一方方面要进行配置复审,保证程序和文档的配置齐全分类有序,两者要求一致并包括软件维护所必需的细节
系统测试,通过确认测试的软件作为整个系统的一个元素,与计算机硬件、外设和某些支持软件、数据和人员等其他系统元素结合起来,在实际运行环境下,对计算机系统进行的一系列安装测试和确认测试
验收测试,用户为主,使用生产中的实际数据测试
8)测试工具:白盒测试工具、黑盒测试工具、性能测试工具、测试管理工具
白盒测试工具:静态分析工具:由语言程序的处理器、数据库、错误分析其和变更生成器
动态测试工具:选择合适的测试用例,实际运行所测程序,采用“插桩”方式,在代码生成的可执行文件中插入检测代码(探针)。比较实际运行结果和预期结果以找出错误。
黑盒测试工具:包括功能测试工具和性能测试工具,利用脚本的录制和回放模拟用户操作,然后将被测系统输出记录下来与预定的标准结果比较
其他:测试数据自动生成工具、模块测试台(生成驱动模块和桩模块的工具)、测试管理工具(管理测试计划、测试用例及实施)、测试合成环境(各种工具为一体的集成测试系统)
各省软考办 | ||||||||||