2. 按照是否查看代码划分
2.1 黑盒测试
黑盒测试就是不关心软件内部代码的实现,不关心代码的逻辑结构(相当于代码这一部分是看不见的) 黑盒测试的好处: 不用看代码(不懂代码也可以进行测试); 黑盒测试测试系统的功能,站在用户的角度去使用功能,有利于培养用户思维 ————产品经理 黑盒测试的测试用例是按照需求设计的,不容易遗漏需求 黑盒测试设计测试用例的方法有哪些? 等价类 ,边界值,因果图,错误猜测法,场景法,正交法
2.2 白盒测试
白盒测试就是针对代码进行的测试,分析和测试代码的逻辑和结构,实现的功能,是否符合用户的需求。 语句覆盖,路径覆盖 判定覆盖(true or false),条件覆盖 ,判定组合覆盖(if else swtich),条件组合覆盖 ,判定和条件组合覆盖
2.3 灰盒测试
介于黑盒测试和白盒测试之间
3. 按照开发阶段划分
越往下测试效率越高,定位问题越容易
3.1 单元测试
针对软件组成最小的单元模块进行测试; 测试阶段:编码前(TDD),编码后
码前(TDD):测试驱动开发 测试人员先写代码,空跑 开发人员根据异常写代码 直到测试用例代码通过
测试对象:组成软件的最小单元模块 测试方法:白盒测试 测试人员:白盒测试工程师或者开发人员 测试依据:详细设计文档(软件测试 V模型) 测试内容:模块的接口,局部数据的测试,边界测试。异常测试,路径测试
3.2 集成测试
按照一定的策略把单元模块组合起来形成一个大的功能模块,对这个功能模块进行的测试叫做集成测试 测试阶段:单元测试后 测试对象:集成模块 测试方法:灰盒测试 测试人员:黑盒测试工程师或者开发人员 测试依据:概要设计文档(软件测试V模型) 测试内容:整个模块功能的正确性,单元模块之间接口的正确性,全局数 据结构测试,单个模块的缺陷对整个功能模块的影响,功能模块之间的冲突
3.3 系统测试
当软件开发完成,系统的全面的对软件的功能进行测试 测试阶段:集成测试后 测试对象:整个系统 测试方法:黑盒测试 测试人员:黑盒测试工程师或者开发人员 测试依据:概要设计文档(软件测试V模型) 测试内容:系统的功能,界面,可靠性,容错性,兼容性,易用性,可移植性,安全性,性能
3.3.1 回归测试
当系统引入了新的代码,要查看新的代码是否影响了旧的功能要进行回归测试
迭代 修改BUG
用自动化回归
3.3.2 冒烟测试
正式测试之前,对软件系统的基本流程和核心功能进行测试,如果测试通过,才进行正式测试。
准入原则
4. 验收测试
软件上线前最后一道测试,由用户或产品经理发起的,看是否符合他的标准
测试阶段:系统测试后 测试对象:整个系统 测试方法:黑盒测试 测试人员:黑用户或者产品方 测试依据:概要设计文档(V模型) 测试内容:系统的功能,界面,可靠性,容错性,兼容性,易用性,可移植性,安全性,性能
问题:白盒测试怎么去测试某一个单元模块(方法)? Java的单元测试框架Junit
5. 按照实施组织去划分
5.1 α测试
指的是让用户除了开发和测试人员以外的公 测试环境:开发环境司内部人员到开发现场进行测试 α测试先于β测试之前的
5.2 β测试
实际用户在实际使用环境下进行测试,是不限时间不限地点的
α测试和β测试的区别:测试环境不同 时间集中程度不一样 α测试优先于β测试
5.3 第三方测试
第三方软件测评机构对软件进行测试 业界的标准和规范进行测试
6. 按照是否运行划分
6.1 静态测试:
不运行代码,分析代码的风格,是否符合公司的标准规范,分析代码的结构、逻辑、算法 只看代码
7. 按照是否手工划分
7.1 手工测试
手工执行测试用例,查看测试结果 缺点:量大容易出错,效率比较低 优点:不可代替的,无法被自动化测试代替,手工测试的过程是人为可控的,有利于做探索性测试。
7.2 自动化测试
机器按照先设定好的条件去执行测试,这些条件包括正常和异常的方面
自动化测试脚本 UI自动化 接口自动化 性能自动化
8. 按照地域去划分
8.1软件国际化:
开发软件的时候使用了一种工程技术,使得软件在适用不同国家的语言,风俗使用习惯的时候不用去改变软件的源码就可以实现。 Windows操作系统 微博国际版 苹果手机 Microsoft officeWord
软件国际化测试 软件本地化测试
|