软件测试的分类:
按是否查看源代码划分:
白盒测试和黑盒测试:
黑盒测试指的是把被测试的软件看做一个黑盒子,我们不去关心盒子里边的结构是不需要了解程序的源代码,通过使用整个软件功能来验证程序是否满足需求的测试方法。
白盒测试是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的测试方法。
黑盒测试又划分为 功能测试和性能测试:
功能测试:检查实际软件的功能是否符合用户的需求
功能测试细划分为:逻辑功能测试,界面测试,易用性测试,安装测试和兼容性测试。
逻辑功能测试:测试应用是否符合逻辑,比如应该先注册账号之后,才能进行登录,登录之后才能看我的购物车
界面测试:窗口大小,按钮大小,点击按钮弹出什么样的提示框,是否有滚动条,下拉菜单是否有展示内容
易用性测试:从软件使用的合理性和方便性等角度对软件系统进行检查,比如,软件窗口长宽比例是否合适,颜色色彩是否赏心悦目,字体大小是否合适
兼容性测试:硬件兼容性测试和软件兼容性测试
硬件兼容性:比如一款软件在pc机,笔记本,主机上是否兼容
软件兼容性测试:比如一款软件在windows8和windows10上是否兼容
性能测试:
时间性能:软件的一个具体事务的响应时间。
空间性能:软件运行时所消耗的系统资源
一般性能测试:软件正常运行,不向其施加任何压力的测试
稳定性测试:也叫可靠性测试,是指连续运行被测系统,检查系统运行时的稳定程度。
负载测试:让被测系统在其能够忍受的压力范围之内连续运行,来测试系统的稳定性。
压力测试:持续不断的给被测试的系统增加压力,直到被测试的系统压垮为止,用来测试系统所承受的最大压力。
按是否运行程序划分:
静态测试和动态测试:
静态测试指不实际运行被测试软件,而只是静态的检查程序代码、界面或者文档中可能存在的错误的过程。
动态测试指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。
其他:
回归测试,冒烟测试和随机测试:
回归测试指对软件的新版本进行测试时,重复执行上一个版本测试时的用例
冒烟测试指对一个软件进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。
随机测试指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。
软件生命周期模型:
软件生命周期 同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段。
V模型和W模型
V模型:
优点:
1 每一个阶段都清晰明了,便于控制开发的每一个过程。
2 既包含单元测试又包含系统测试。
缺点:
1 测试介入的比较晚,对于前期的一些缺陷无从发现和修改。
2 测试和开发串行。
W模型:
优点
1 测试伴随着软件的整个生命周期,例如,在需求分析结束后就可以进行需求分析测试。
2 测试于开发是并行独立进行的。
缺点
1 对有些项目,开发过程中根本没有文档产生,故W模型无法使用。
2 对于需求和设计的测试技术要求很高,实践起来很困难。