信息化和信息系统(3)
1、软件测试方法
- 软件测试方法可以分为静态测试和动态测试。
- 静态测试是指被测试程序不在机器上运行,而采用人工检测和计算机辅助静态分析的手段对程序进行检测。静态测试包括对文档的静态测试和对代码的静态测试。对文档的静态测试主要以检查单的形式进行,而对代码的静态测试一般采用桌前检查、代码走查和代码审查。
- 动态测试是指在计算机上实际运行程序进行软件测试,一般采用白盒测试和黑盒测试方法。
- 白盒测试也称为结构测试,主要用于单元测试,测试人员按照程序内部逻辑结构设计测试用例,白盒测试方法主要有控制流测试、数据流测试、程序变异测试等。使用静态测试也可以实现白盒测试,如人工检查代码也属于白盒测试范畴。白盒测试方法中,最常用的技术是逻辑覆盖,即使用测试数据运行被测程序,考察对程序逻辑的覆盖程度。主要的覆盖标准有语句覆盖、判定覆盖、条件覆盖等。
- 黑盒测试也称为功能测试,主要用于集成测试、确认测试和系统测试中,黑盒测试完全不考虑程序的内部结构和处理算法。一般包括等价类划分、边界值分析、判定表、因果图、状态图、随机测试、猜错法和正交试验法等。
2、软件测试类别
- 单元测试。单元测试也称为模块测试。
- 集成测试。集成测试的目的是检查模块之间,以及模块和已集成的软件之间的接口关系。
- 确认测试。确认测试主要用于验证软件的功能、性能和其他特性是否与用户需求一致。根据用户的参与程度,通常包括:
(1)内部确认测试。内部确认测试主要由软件开发组织内部按照SRS进行测试。
(2)Alpha测试和Beta测试。Alpha测试在开发环境下测试,Beta测试在实际使用环境下测试。
(3)验收测试。验收测试是指针对SRS,在交付前以用户为主进行的测试。其测试对象为完整的、集成的计算机系统。验收测试之前要保证已通过系统测试。 - 系统测试。系统测试的对象是完整的、集成的计算机系统,系统测试的目的是在真实系统工作环境下,验证完整的软件配置项能否和系统正确连接欸,并满足系统/子系统设计文档和软件开发合同规定的要求。
- 配置项测试。配置项测试的对象是软件配置项,配置项测试的目的是检验软件配置项与SRS的一致性。
- 回归测试。回归测试的目的是测试软件变更之后,变更部分的正确性和对变更需求的符合性,以及软件原有的、正确的功能、性能和其它规定的要求的不损害性。(哪一个阶段的测试没通过,都要先把之前的也测试一遍)
3、软件调试策略
- 常用的软件调试策略可分为蛮力法、回溯法、原因排除法三类。
- 软件调试与软件测试的区别主要体现在以下几个方面:
(1)测试的目的是为了找出存在的错误,调试的目的是定位错误并修改程序以修正错误。
(2)调试是测试之后的活动,测试和调试在目标、方法和思路上都有所不同。
(3)测试从一个已知的条件开始,使用预先定义的过程,有预知的结果;调试从一个未知的条件开始,结束的过程不可预计。
(4)测试过程可以事先设计,进度可以事先确定;调试不能描述过程或持续时间。
4、软件测试的管理过程
- 软件测试的管理包括过程管理、配置管理和评审工作。
- 过程管理。过程管理包括测试活动管理和测试资源管理。软件测试应由相对独立的人员进行。
- 配置管理。应按照软件配置管理的要求,将测试过程中产生的各种工作产品纳入配置管理。
- 评审工作。测试过程中的评审包括测试就绪评审(测试前)和测试评审(测试后)。
5、软件集成技术
企业应用集成EAI包括表示集成、数据集成、控制集成和业务流程集成等多个层次和方面。当然,也可以在多个企业之间进行应用集成。
- 表示集成也称为界面集成,是黑盒集成,无需了解程序与数据库的内部构造。常用的集成技术主要有屏幕截取和输入模拟技术。
- 数据集成是白盒集成。