-
软件测试的分类
按照测试对象的可见度:黑盒测试、 白盒测试
按照状态:静态测试、动态测试
按照执行方式:手工测试、自动化测试
1、黑盒测试(功能测试):不考虑程序内部结构和内部特性下,通过相关暴露出的接口,对程序进行测试优点:(1)易于实施;(2)贴近用户视角。
缺点:(1)测试覆盖率较低;(2)复用率较低,维护成本较高。
测试重点:(1)是否有不正确或遗漏的功能;(2)针对接口,输入与输出是否正确;(3)是否有数据结构错误或外部信息访问错误;(4)性能是否满足要求。
2、白盒测试(逻辑结构测试)
主要的逻辑单位:
语句:保证每条语句至少执行一次
分支(判定):保证每条分支至少执行一次
条件:条件表达式至少计算一次
条件组合:所有不同条件下的组合情况,至少执行一次
路径:每个可能的路径至少执行一次优点:(1)迫使测试人员仔细思考软件的实现,理解原理;(2)可以检验代码的每条分支和路径;(3)揭示隐藏在代码中的错误;(4)对代码的测试比较彻底。
缺点:(1)昂贵,较高覆盖率,工作量大;(2)无法检测代码中遗漏的路径和数据敏感性的错误;(3)不能直接验证需求的正确性。
白盒测试的主要测试方法:(1)代码检测法;(2)静态结构分析法;(3)静态质量度量法;(4)逻辑覆盖法;(5)基本路径测试法。
3、灰盒测试:介于黑、白盒测试之间,关注输出对于输入的正确性,同时关注内部表现
4、静态测试:无需执行被测程序,而是评审软件文档或代码,度量程序静态复杂度,检测软件是否符合编程标准(直接看文档或代码)
5、动态测试:运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等
6、手工测试:从用户视角来验证软件是否满足设计要求
7、自动化测试:使用单独的测试工具控制测试的自动化执行
查看全部 -
1、单元测试:对软件的最小可测试单元进行检查和验证
原则:(1)尽可能保证各个测试用例是互相独立的;(2)一般由开发人员来实施。
优点:(1)能尽早发现缺陷;(2)有利于重构;(3)简化集成;(4)文档;(5)用于设计。
缺点:(1)不可能覆盖所有的执行路径;(2)一行代码一般需要3-5行测试代码才能完成单元测试。
2、集成测试:把已测试过的单元组装成模块,检测和验证其是否达到或实现设计要求
主要实施方案:(1)Big Bang(一次性集成,把大部分开发模块进行组装);(2)自顶向下;(3)自底向上;(4)核心系统集成;(5)高频集成。
3、系统测试:把集成测试的软件作为计算机系统的一个部分,检验它能否与系统中的其它部分协调工作
关注点:(1)系统本身的使用;(2)系统与其它相关系统之间的连通;(3)系统在不同使用压力下的表现。
4、验收测试(交付测试):针对用户需求、业务流程的正式测试,确定软件是否满足验收标准
集成测试与单元测试的区别:(1)测试对象不同;(2)测试依据不同;(3)测试方法不同。
系统测试与集成测试的区别:(1)测试对象不同;(2)测试时间不同;(3)测试内容不同;(4)测试角度不同(系统测试偏业务,集成测试偏技术)。
查看全部 -
单元测试: 对软件中的最小可测试单元进行检查和验证
原则:
尽可能保证各个测试用例是相互独立的。
一般由代码的开发人员来实施,用以检验所开发的代码功能符合自己的设计要求
益处:
1.能尽早发现缺陷
2.有利于重构
3.简化集成
4.文档
5.用于设计
限制:
1.不可能覆盖所有的执行路径,所以不可能保证捕捉到所有路径的错误
2.每一行代码,一般需要3~5行测试代码才能完成单元测试。所以存在投入和产出的一个平衡。
框架:
xunit,Junit,nunit,phpunit,cppunit.
查看全部 -
测试分类 1.单元测试 2.集成测试 3.系统测试 4.验收测试查看全部
举报