1、软件测试的意义:检测软件是否满足客户需求?找出软件中存在的各种问题?满足客户提出的测试报告需求?要进入某个市场或某些领域必须做相应的测试
2、软件测试的常用方法:
从运行状态看:静态测试、动态测试
从执行过程看:手工测试、自动化测试
从内容划分看:功能测试、易用性测试、兼容性测试、文档测试
从用例设计看:白盒测试,灰盒测试,黑盒测试
从开发阶段看:单元测试,模块测试,系统测试,集成测试,验收测试
其他: 随机测试,冒烟测试,回归测试
V-Model
白盒测试(单元测试):
是通过程序的源代码进行测试而不适用用户界面。这种类型的测试需要从代码语句发现内部代码在算法,溢出,路径。条件等中的确定或者错误进而加以修正
主要测试指标:行覆盖率,函数覆盖率,分支覆盖率
黑盒测试(系统测试):
又称为功能测试,数据驱动测试或基于规格说明的测试。它是通过使用整个软件或某种软件功能来严格的测试而非检查程序的源代码。测试人员通过输入他们的数据,然后看输出的结果从而了解软件怎样工作。
主要测试指标:场景(或功能)覆盖率
灰盒测试(模块测试,集成测试):
是一种基于黑盒测试和白盒测试之间的测试方法,是业务流程基础上关注系统模块之间如何交互运作的测试方法,灰盒测试既可以保证呵呵测试的关注点,又可以掌控白盒的内部结果但不会去对内部程序功能和运作做详细了解,回合测试结合了白盒测试和黑河测试 的要素
主要 测试指标:结合黑盒和白盒
总体原则:黑盒测试必须有,白盒测试尽量有