什么是软件测试?

通过“人工”或“自动化”的手段去测试软件或者系统 检验是否满足规定的需求 搞清楚预计结果和实际结果的区别 发现软件错误 衡量软件质量 并对软件进行一个评估

软件测试的目的是什么?

对软件系统或者程序的一个测试 发现其中的错误

1.验证软件需求和功能是否得到完整的实现

2.尽早的发现软件中的bug

3.尽可能多发现软件中存在的bug

4.测试软件是否可以发布

5.对软件的质量 性能 效率做一个大概的评估

6.预防用户使用中会可能出现的bug

7.预防下个版本出现的问题

软件测试的流程是什么?

分为三种:

开发环境(开发专用)——测试环境(测试专用)——验收测试

首先我们要确定项目

写文档 PRO产品说明书

根据甲方需求编写文档

对需求进行评审 (评审时需要需求人员下发 参与会议的有开发人员 测试人员 项目经理)

这个时候开发环境就要对产品做一个详细的概要设计 然后进行编码 然后 进行 自测 自测过了给测试人员进行提测

这个时候测试环境就要对产品做一个计划 然后编写测试用例 然后对测试用例进行评审(开会)

这个时候过审然后对产品进行提测 然后进行到冒烟测试 这一步是确认测试主流程是否通过 如果不过就直接返回给开发 冒烟测试过了会对产品进行功能测试 然后禅道记录bug 然后回归测试 验证上个版本出现的问题 有没有被修复 有没有引发的新bug 然后验收测试 这时公司会在开一个会议 参与人主要有客户 开发 测试 经理 需求 如果都没问题就打包上线

 

软件测试分类

软件测试:

按阶段划分   

        单元测试

        集成测试

        系统测试

        验收测试

按是否运行程序划分

        静态测试

        动态测试

按是否查看源代码划分

        白盒测试

        黑盒测试

                功能测试

                        逻辑功能测试

                         界面测试

                        易用性测试

                        安装测试

                        兼容性测试

                性能测试

                        一般性能测试

                        稳定性测试

                        负载测试

                        压力测试

其他

        回归测试

        冒烟测试

        随机测试

黑盒测试和白盒测试

黑盒测试:

        把测试的软件看做成一个黑盒子 不用关心盒子里面的结构 不用跟代码打交道 通过软件对引用进行测试

白盒测试:

        按照程序的内部逻辑结构和编码的建构设计测试数据并对有bug的地方进行修改

静态测试和动态测试

静态测试:

        不实际运行被测试的测试软件 静态检车代码 界面 或者文档中存在的错误或者逻辑问题

动态测试:

        实际运行被测程序 输入相应的测试数据 检查实际输出结果和预计结果是否相符的过程

功能测试和性能测试

功能测试:

        是黑盒测试的一部分 检查软件是否符合用户的需求 可以分为 逻辑功能测试 界面测试 易用性测试 安装测试和兼容性测试

逻辑功能测试:测试应用是否符合逻辑,比如应该先注册账号之后,才能进行登录,登录之后才能看我的购物车

界面测试:窗口大小,按钮大小,点击按钮弹出什么样的提示框,是否有滚动条,下拉菜单是否有展示内容...

易用性测试:从软件使用的合理性和方便性等角度对软件系统进行检查,比如,软件窗口长宽比例是否合适,颜色

兼容性测试:硬件兼容性测试和软件兼容性测试

硬件兼容性:比如一款软件在pc机,笔记本,主机上是否兼容

软件兼容性测试:比如一款软件在windows8和windows10上是否兼容

性能测试

时间性能:软件的一个具体事务的响应时间。比如点击一个登陆按钮,到登录成功(失败)的反应时间,浏览器非常常见,ANR(Application not responding 应用程序无响应)2/5/8

空间性能:软件运行时所消耗的系统资源,比如对内存和cpu的消耗 80%

一般性能测试:软件正常运行,不向其施加任何压力的测试

稳定性测试:也叫可靠性测试,是指连续运行被测系统,检查系统运行时的稳定程度。

负载测试:让被测系统在其能够忍受的压力范围之内连续运行,来测试系统的稳定性。(测试载重)

压力测试:持续不断的给被测试的系统增加压力,直到被测试的系统压垮为止,用来测试系统所承受的最大压力。(测试强度)

 回归测试 冒烟测试 随机测试

回归测试:

回归测试是指修改了旧代码后,重新测试以确认修改没有引入新的错误或导致其他代码产生错误。

冒烟测试:

指对一个软件进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。

随机测试:

是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。

单元测试 集成测试 系统测试 验收测试

单元测试:

单元测试当一段代码完成之后,是由白盒测试工程师或者开发人员自行测试,比如java中执行单元测试叫做junit测试。

集成测试:

集成测试是单元测试的下一个阶段,是指将通过测试单元模块组装成系统或者子系统,再进行测试,重点测试不同模块的接口部分。

系统测试:

系统测试:指的是将整个软件系统看做一个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。

验收测试:

验收测试:以用户为主的测试,软件开发人员和质量保证人员参加,

             

Logo

领路信创诚邀您共建高质量内容社区,投稿申请~

更多推荐