1、按照是否查看程序内部结构:
——黑盒测试(Black Box Testing) 黑盒测试又称为功能测试或数据驱动测试 黑盒测试是根据软件的规格对软件进行的测试,这类测试不考虑软件内部的运作原理, 通过测试来验证每个功能是否符合需求,因此软件对用户来说就像一个黑盒子。 软件测试人员以用户的角度,通过各种输入和观察软件的各种输出结果来发现软件存在的缺陷,而不关心程序具体如何实现的一种软件测试方法 黑盒测试的方法:
- 等价类划分
- 边界值划分
- 因果图
- 错误推测
- 综合策略等
常用的工具:AutoRunner、winrunner ——白盒测试(White Box Testing) 白盒测试也称为结构测试或是逻辑驱动测试。 白盒测试是把测试对象看作一个打开的盒子。利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能 通过测试来检测软件内部是否按照需求、设计正常运行。
白盒测试的主要方法:(对应于程序的一些主要结构:语句、分支、逻辑、变量)
- 逻辑覆盖(语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖等)
- 循环覆盖
- 基本路径测试
常用工具有:Jtest、VcSmith、Jcontract、C++ Test、CodeWizard、logiscope
2、按照是否运行程序:
——静态测试(static testing) 是指不实际运行被测软件,而只是静态地检查程序代码、界面或文档可能存在的错误的过程。因此包含了代码测试、界面测试和文档测试 ——动态测试(dynamic testing) 是指实际运行被测程序,输入相应的测试数据,检查输出结果和预期结果是否相符的过程
3、按照阶段来划分:
——单元测试(unit testing) 是指对软件中的最小可测试单元进行检查和验证 ——集成测试(integration testing) 是单元测试的下一阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口 ——系统测试(system testing) 指的是将整个软件系统看做一个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。 系统测试的主要依据是《系统需求规格说明书》文档。 ——验收测试(acceptance testing) 指的是在系统测试的后期,以用户测试为主,或有测试人员等质量保障人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序 验收测试又分为 Alpha测试和 beta测试,其中 Alpha测试指的是由用户、 测试人员、开发人员等共同参与的内部测试,而beta测试指的是内测后的公测,即完全交给最终用户测试。 ——回归测试(regression testing) 是指对软件的新的版本测试时,重复执行上一个版本测试时的用例
4、黑盒测试
黑盒测试分为功能测试和性能测试 ——功能测试(function testing) 是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。这里面还有其他细微的划分,包括界面测试、程序易用性测试、兼容性测试等等 ——性能测试(performance testing) 软件的性能主要有时间性能和空间性能两种。 时间性能:主要指软件的一个具体事务的响应时间(respond time)。 空间性能:主要指软件运行时所消耗的系统资源。 性能测试分为一般性能测试、稳定性测试、负载测试和压力测试等等
5、是否手工操作
——自动化测试(Automated Testing) 常用与回归测试或是冒烟测试。这些测试用例已经很成熟,不需要人工干预 ——手工测试(Manual testing) 需要手工点击鼠标,人为观看界面的测试
6、其他类型的测试
——回归测试(regression testing) 是指对软件的新的版本测试时,重复执行上一个版本测试时的用例。 ——冒烟测试(smoke testing) 是指在对一个新版本进行大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。 ——随机测试(random testing) 是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!