1、软件测试类型:
按开发阶段分:单元测试、集成测试、确认测试(有效性测试)、系统测试、确认测试、验收测试
按测试实施组织分:开发方测试(验证测试或alpha测试)、用户测试(beta)、第三方测试(独立测试)
按测试方式分:动态测试、静态测试
按测试技术分:白盒测试、黑盒测试、灰盒测试
2、软件测试过程:
用黑盒法设计基本的测试方案,再利用白盒法补充一些必要的测试方案。可以用以下策略结合各种方法:
(1)在任何情况下都应该使用边界值分析的方法;
(2)必要时用等价划分法补充测试方案;
(3)必要时用错误推测法补充测试方案;
(4)如果在程序的功能说明中含有输入条件的组合,最好在一开始就用因果图法,然后再按以上(1)、(2)、(3)步进行。
(5)对照程序逻辑,检查已设计出的设计方案。可以根据对程序可靠性的要求采用不同的逻辑覆盖标准,如果现有测试方案的逻辑覆盖程度没有达到要求的覆盖标准,则应再补充一些测试方案。
3、单元测试主要是对模块的5个基本特性进行测试和评价:
(1)模块接口;(2)局部数据结构;(3)重要的执行路径;(4)错误处理;(5)边界测试。
在集成测试时,要考虑的问题有:数据经过接口是否会丢失;一个模块对另一模块是否造成不应有的影响;几个子功能组合起来能否实现主功能;误差不断积累是否达到不可接受的程度;全局数据结构是否有问题。
确认测试又称为有效性测试、合格测试或验收测试。确认测试主要由使用用户参加测试,检验软件规格说明的技术标准的符合程度,是保证软件质量的最后关键环节。
系统测试是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试。系统测试实质上是由一系列不同测试组成的,其主要目的是充分运行系统,验证系统各个部件是否都能正常工作并完成所分配的功能。
系统测试包括:恢复测试、安全性测试、强度测试、性能测试等。
验收测试是以用户为主,软件开发人员和质量保证人员也应参加的测试。由用户参加设计测试用例。使用用户界面输入测试数据,并分析测试的输出结果。验收测试往往知系统测试完成后,项目最终交付前进行。