我理解的测试种类的话,就分为功能测试、性能测试和自动化测试。当然还有其他的一些名词,你比如说咱要是按照阶段来进行测试划分的话,又可以说分为单元测试、集成测试、系统测试、还有验收测试。又可以根据不同的代码,分为白盒测试和黑盒测试,还有一些其他的测试,比如说回归测试、冒烟测试、还有随机测试。像这个测试种类可多了
1.1. 功能测试
我就重点说一下这个功能测试吧,功能测试。我们主要是测试软件功能是否正常使用,当然功能测试也不是这么简单的,我们要测试逻辑功能,就是这个操作是否符合正常人的逻辑思维,你比如说,我用智联招聘,就感觉它有一块功能做的不好,一般是我们先登录,没有账号的话才进行注册,而智联招聘,我进入到主页面,输入完信息准备登录。才发现默认是注册,这个就属于一块逻辑上的问题,当然问题还不算很大,注册结束之后,能够跳转到登录界面,这个就是进行界面测试。海域就是测试这个软件是否容易使用,也就是易用性,如果不好用,用户操作不了。也可以算一个bug。还有兼容性测试,比如我们测试android 手机上的应用,就经常有兼容性的问题 ,比如分辨率兼容问题,android的app分辨率我们就需要使用多台不同尺寸分辨率的手机进行测试,还有性能兼容问题 咱们国内都对手机源代码进行了改动,同一款app。可能字华为上好使 在小米,VIVO ,OPPO上不好使,这些都是功能测试的范围
1.2.性能测试
时间性能:软件的一个具体事务的响应时间。比如点击一个登陆按钮。到登录成功(失败)的反应时间,浏览器非常常见,(ANR(Application not responding 应用程序无响应)
空间性能:软件运行时所消耗的系统资源,比如对内存和cpu多的损耗
一般性能测试:软件正常运行,不向其施加任何压力测试
稳定性测试:也叫可靠性测试 是指连续运行被测系统 检查系统运行时的稳定程度
负载测试:让被测系统在其能够忍受的压力范围之内连续运行,来检测系统的稳定性
压力测试:持续不断得给被测系统增加压力直到被测系统压垮为止,用来测试系统所承受的最大压力
1.3.自动化测试
自动化测试,一般就需要使用脚本来进行测试,也可以叫做白盒测试,技术含量相对来说比较高,这个我也会 我会的语言是python,基本上python的代码基础我是掌握了,比如python的变量和基本数据类型,输入输出语句,集合和元祖操作,以及循环和条件判断操作。还有python中的字典和set集合操作 以及python中的面向对象编程,异常,单元测试这些内容,比较熟悉
自动化测试软件:selenium和appium 这两个软件我也使用的比较熟悉,当然也算不上精通,基本的操作,写一些自动化测试脚本是没有问题的
1.4.静态测试和动态测试
静态测试,是指不实际运行被测试软件而只是静态的检查程序代码、界面或者文档中可能存在的错误的过程
动态测试:是指实际运行被测程序,输入相对应的测试数据,检查实际输出结果和预期结果是否相符的过程
1.5 单元测试、集成测试、系统测试、验收测试
1.1.2单元测试
是指对软件中最小可能测试单元进行检查和验证
单元测试当一段代码完成的之后 是由白盒测试工程师或者开发人员自行测试,比如java中执行单元测试叫做junit测试
目前大部分公司单元测试由开发人人员简单编译和调试一下自己的程序,没有相应的单元测试计划
单元测试方式:先静态的观察代码是否符合规范,然后动态的运行一下代码,检查运行的结果
1.1.3集成测试
集成测试是单元测试的下一个阶段,是指将通过单元测试模块组装成系统或者子系统,再进行测试,重点测试不同模块的接口部分
集成测试也是右白盒测试或者开发人员来完成
1.1.4系统测试和验收测试
集成测试完成之后。就是系统测试和验收测试
系统测试:是指将整个软件系统看做一个整体进行测试,包括对功能、性能、以及软件所运行的软硬件环境进行测试
系统测试由黑盒测试人员在整个系统集成完毕后进行测试,前期主要测试系统的功能是否满足需求,后期主要测试系统运行的性能是否满足需求 ,以及系统在不同的软硬件环境的兼容性等
1.6.回归测试 、冒烟测试、随机测试
1.1.5 回归测试
是指对软件的新版本进行测试 时 重复执行上一个版本测试时的用例 比如在版本中有一个BUG,到了2.0版本中 再重新测试1.0中这个BUG
1.1.6 冒烟测试
值对一个软件系统大规模的测试执之前 先指派一两个测试人员测试一下软件的主要功能,如果没有实现 则打回开发组重新开发 这样做可以节省大量的时间和人力成本
1.1.7随机测试
是指在测试中所有的输入数据都是随机性的 其目的是模拟用户的真实操作 并发现一些边缘性的错误