软件测试按测试阶段分:单元测试、集成测试、系统测试、验收测试
1.单元测试
对软件中的最小可测试单元进行检查和验证。
1.1单元测试的原则:
①尽可能的保证各个测试用例是互相独立的;
②一般由代码开发人员来是实施,用以检验所开发的代码功能符合自己的设计要求。
1.2单元测试的好处:
①能尽早发现缺陷;
②有利于重构;
③简化集成;
④文档;
⑤用于设计。
1.3单元测试的限制:
①不可能覆盖所有执行路径,所以不可能保证捕捉到所有路径的错误;
②每一行代码,一般需要3~5行测试代码才能完成单元测试。所以存在投入和产出的一个平衡。
1.4单元测试框架:
Xunit、Nunit、JUnit、PHPUnit、CPPUnit
2.集成测试
是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。
2.1集成测试的主要实施方案:
Big Bang、自顶向下、自底向上、核心系统集成、高频集成
2.2集成测试和单元测试的区别:
①测试的对象不同;
②测试的依据不同;
③测试的使用方法不同。
3.系统测试
将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效地测试,以发现软件潜在的问题,保证系统的正常运行。
3.1系统测试的关注点:
①关注系统本身的使用;
②关注系统与其他系统间的联通;
③关注系统在不同使用压力下的表现;
④关注系统在真是使用环境下的表现。
3.,系统测试和集成系统的区别:
①测试对象不同:
集成测试:由通过了单元测试的各个模块所集成起来的构件;
系统测试:除了软件之外,还包括计算机硬件及其相关的外围设备、数据采集和传输机构、支持软件、系统操作人员等整个系统;
②测试时间不同:
集成测试:介于单元测试和系统测试之间测试;
系统测试:在集成测试之后;
③测试内容不同:
集成测试:各个模块之间的接口;
系统测试:整个系统的功能和性能;
④测试角度不同:
集成测试:偏于技术角度的验证;
系统测试:偏于业务角度的验证。
4.验收测试
也称交付测试。针对用户需求、业务流程的正式的测试,确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。
4.1验收测试细分:
用户验收测试、运行验收测试、合同和规范验收测试、alpha测试、beta测试