1 测试流程
立项(确定项目)---产品说明书(PRD)---需求文档---需求评审(需求人员下发的评审,开发人员,测试人员,项目经理共同参加)
详细概要设计---编码---自测---提测(开发环境,开发人员专用)
测试计划---编写测试用例---测试用例评审(测试环境,测试人员专用)
冒烟测试(测试主流程是否通过)---功能测试---禅道记录bug---回归测试---(验证上个版本有没有修复,有没有引发新的bug)---验收测试(验收环境---客户,本公司参加人员,开发人员,测试人员,经理,需求人员)---上线
回归测试、冒烟测试、随机测试
回归测试
是指对软件的新版本进行测试时,重复执行上一个版本测试时的用例,比如在1.0版本中,有一个bug,到了2.0版本中,再重新测试1.0中这个bug(回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。)
冒烟测试
指对一个软件进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性.测试小组在正式测试一个新版本之前,先指派一两个测试人员测试一下软件的主要功能,如果没有实现,则打回开发组重新开发,这样做可以节省大量的时间成本和人力成本。
随机测试
是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误
2 软件测试分类
按阶段划分---单元测试---集成测试---系统测试---验收测试
按是否运行程序划分---静态测试---动态测试
按是否查看源代码划分---白盒测试
黑盒测试---功能测试---逻辑功能测试---界面测试---易用性测试---安装测试---兼容性测试
性能测试---一般性能测试---稳定性测试---负载测试---压力测试
3 黑盒测试和白盒测试
黑盒测试(Black Box -Test)指的是把被测试的软件看做一个黑盒子,我们不去关心盒子里边的结构是
不需要了解程序的源代码,通过使用整个软件功能来验证程序是否满足需求的测试方法
白盒测试(White Box Testing)
是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的测试方法
4 静态测试和动态测试
静态测试,是指不实际运行被测试软件,而只是静态的检查程序代码、界面或者文档中可能存在的错误的过程。
动态测试:是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。
5 功能测试和性能测试
功能测试
是黑盒测试的一部分,它检查实际软件的功能是否符合用户的需求。
功能测试可以细分逻辑功能测试,界面测试,易用性测试,安装测试和兼容性测试。
逻辑功能测试:测试应用是否符合逻辑,比如应该先注册账号之后,才能进行登录,登录之后才能看我的购物车
界面测试:窗口大小,按钮大小,点击按钮弹出什么样的提示框,是否有滚动条,下拉菜单是否有展示内容...
易用性测试:从软件使用的合理性和方便性等角度对软件系统进行检查,比如,软件窗口长宽比例是否合适,颜色色彩是否赏心悦目,字体大小是否合适
兼容性测试:硬件兼容性测试和软件兼容性测试
硬件兼容性:比如一款软件在pc机,笔记本,主机上是否兼容
软件兼容性测试:比如一款软件在windows8和windows10上是否兼容
5.1 性能测试
时间性能:软件的一个具体事务的响应时间。比如点击一个登陆按钮,到登录成功(失败)的反应时间,浏览器非常常见,ANR(Application not responding 应用程序无响应)2/5/8
空间性能:软件运行时所消耗的系统资源,比如对内存和cpu的消耗 80%
一般性能测试:软件正常运行,不向其施加任何压力的测试稳定性测试:也叫可靠性测试,是指连续运行被测系统,检查系统运行时的稳定程度。
负载测试:让被测系统在其能够忍受的压力范围之内连续运行,来测试系统的稳定性。(测试载重)
压力测试:持续不断的给被测试的系统增加压力,直到被测试的系统压垮为止,用来测试系统所承受的最大压力。(测试强度)
6 单元测试、集成测试、系统测试和验收测试
单元测试
单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。
集成测试
集成测试是单元测试的下一个阶段,是指将通过测试单元模块组装成系统或者子系统,再进行测试,重点测试不同模块的接口部分
7 系统测试和验收测试
集成测试完成之后,就是系统测试和验收测试。
系统测试:指的是将整个软件系统看做一个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。
系统测试由黑盒测试人员在整个系统集成完毕后进行测试,前期主要测试系统的功能是否满足需求,后期主要测试系统运行的性能是否满足需求,以及系统在不同的软硬件环境的兼容性等。
验收测试:以用户为主的测试,软件开发人员和质量保证人员参加,