• 0
  • 0
分享
  • 测试分类——软件测试圈
  • 恬恬圈 2022-04-18 11:19:52 字数 3036 阅读 1445 收藏 0

1.按照开发阶段划分的4种测试

1.1单元测试

测试阶段:编码后,编码前(TDD)

测试驱动开发:Test——Driven——Development

先写测试用例,跑测试用例,开发人员根据测试用例产生的异常去补充开发代码

测试内容:

模块接口测试:输入参数,参数的个数,参数的类型,参数的顺序要符合接口文档

局部数据测试:

边界测试:for while

错误处理测:try catch finally

路径测试:if else switch

1.2集成测

测试阶段:单元测试之后

测试内容:模块之间数据的传递,模块之间功能的冲突,模块功能的正确性,全局数据结构,单个模块的缺陷对整个系统的影响

1.3系统测试

测试阶段:集成测试以后

测试内容:界面,功能,性能,易用性,安全性,兼容性等

(1)回归测试:当系统的代码进行修改时,为了防止新添加的代码对系统引入新的错误而进行的测试,原因:添加新需求,修改BUG

(2)冒烟测试:对系统的核心功能和主要流程进行测试。是决定我们测试人员是否接受系统进行正式测试的依据。

1.4验收测试

测试阶段:系统测试之后,用户进行测试

测试内容:界面,功能,性能,易用性,安全性,兼容性等,文档的测试(功能说明文档,开发文档,使用说明书)

2.按照测试的实施组织划分的3类

2.1 α测试

把用户(除测试和开发以外的公司人员)请到开发现场进行测试,及时发现并解决问题,但是环境受开发环境的限制,测试时间比较集中。

2.2 β测试

用户在正常的使用环境下进行测试,通常一个周期测试完成,把问题整理成文档,反馈给开发人员,开发人员进行改进;测试时间比较分散,但是是用户在真实的使用环境下进行测试。

β测试在α测试之后

2.3 第三方测试

第三方软件测评机构,是根据行业内的一些标准和规范进行测试

3.按照是否运行去划分(代码)

3.1静态测试(代码不运行)

3.2动态测试(代码运行)

4.按照是否手工划分

4.1手工测试

通过界面去测试,如果进行大量的测试容易出错,但是比较灵活,可以进行发散的测试

4.2自动化测试

前提:在系统功能比较稳定的时候才能可以做自动化测试

自动化测试最大的价值:脚本的重复利用率,重复利用率越高价值越大

步骤:

完成功能测试,版本基本稳定

根据项目特性,选择适合项目的自动化工具,并搭建环境

提取手工测试的测试用例转化为自动化测试的用例

通过工具、代码实现自动化的构造输入,自动检测输出结果是否符合预期

生成自动测试报告

持续改进,脚本优化

为什么要把手工测试的测试用例转化为自动化测试用例

手工测试可以被自动化测试替换吗?不可以,机器替代不了人的思维

5.按照是否查看代码划分

(1)黑盒测试:不关心软件内部的逻辑结果,只关心输入和输出是否达到我们的预期,相当于把测试的软件当成一个只有输入输出的黑色盒子

黑河测试设计测试用例的方法:等价类,边界值,因果图,正交法,场景设计,错误猜测

(2)白盒测试:研究软件内部的程序逻辑和结构,验证是否满足软件需求,相当于把软件当成一个能看见软件内部结构的白色的盒子去测试

白盒测试的方法:判定覆盖,条件覆盖,判定和条件的组合,判定组合,条件组合,语句覆盖,逻辑覆盖,路径覆盖

(3)灰盒测试:介于白盒和黑盒之间,即关心输入和输出又关心程序内部的机构

(4)单元测试:

  1. 安装插件Junit

  2. 找到要测的性能单元测试的类,选中类名,ctrl+shift+T。创建单元测试类

  3. 写单元测试方法

6.按照测试的地域去划分

国际化测试本地测试

软件国际化:就是在设计软件的时候,采用一种工程技术,使得软件在转换成不同国家的语言,风俗习惯的时候不需要修改源码的技术,就叫做软件国际化

7.按照测试对象划分

(1)业务测试:

  • 场景设计法:正常流程,异常流程

  • 了解业务

(2)界面测试(UI测试):

  • 文字的大小,字体,排版,颜色,粗细

  • 图片的清晰度,大小,排版,色彩

  • 页面整体排版,信息提示弹出框

  • 控件对话框,查询框,滚动条,弹出框

  • 按钮的亮度显示,有限按钮高亮展示,无效按钮置灰

响应式测试:页面可以随着屏幕的大小不同而变化

  • 文字在不同分辨率下能够完成并且清晰展示;

  • 图片在不同分辨率下能够正确排版,清晰展示,不重叠;

  • 界面的功能在不同的分辨率下可以正常使用;

  • 界面在不同分辨率下切换的时候,是平滑的过渡;

  • 在不同分辨率下,界面的展示要严格按照UI设计稿来进行展示。

(3)容错性测试

当系统出现一些异常或者用户输入错误的信息,进行异常的操作,系统可以自我处理这样错误情况,不会出现崩溃,页面异常这种情况,可以给用户一个很好的提示体验;

数据容错性:时间,日期,数字,例如:用户输入1月32号时,系统不会直接崩溃,而是会提示用户输入错误。

校验容错性:查询信息前后加空格(去掉)大小写自动转换验证码输入二次密码确认

信息级别:填表单的时候,异常关闭(网络,没电,人为)是否会自动保存

  • 同一个数据被不同人操作的时候,是否会有锁定

  • 同一个信息在不同的平台上被操作(同账号),信息要同步

界面容错性:复杂的操作,有说明提示;用户在执行有风险的测试时,会提示

环境容错性:网络,电源,服务器;无缝切换备用的网络,电源或者服务器就能保证用户无感知。

灾难恢复性测试:人为的让服务器或者服务器所依赖的环境发生故障,测试系统的自我修复能力

1.系统能不能恢复

2.系统碰到这种情况,恢复系统的功能和信息所用的时间用户能否接受

(4)文档测试

测试文档是否完整,术语是否专业,是否容易使用

(5)兼容性测试

系统所在平台的兼容性

web

操作系统windowsios不同的操作系统要进行测试,不同操作系统的不同版本也要进行测试,浏览器要装在不同的操作系统上;不同的浏览器下,网页是否可以正常展示和使用:ChromeFirefoxedgeIE等。不同浏览器的市场上的主流版本也要测试(不同的浏览器内核不同,解析结果可能不同)

APP不同机型不同机型的不同操作系统IOSAndroid不同操作系统的主流版本上进行测试

兼容性测试在不同的平台上测试的功能都是一样的,所以可以用自动化测试

软件本身向前向后的兼容性

软件和其他相关软件的兼容性:淘宝支付宝饿了吗

数据兼容性:同一个软件上数据兼容性

(6)易用性测试

遵循一定的易用性标准开发软件(前期的积累经验,越来越符合人的使用习惯和需求)

直观性:软件的展示要和软件的定位相关

(7)安装测试(卸载)

APP应用商店,浏览器,安装包,命令行

安装的时候断网断电,暂停下次还能不能继续,突然不想下载了取消之后数据有没有清除

(8)安全性测试

是否抵御病毒,SQL的注入,系统攻击

(9)性能测试

为什么要进行性能测试?

能够快速的响应用户的请求(3s/5s/8s)

系统能够负载所需要的用户数量

能够处理系统所需要的事物数量

在负载和事物处理的高峰期,系统可以稳定运行,用户可以得到良好的体验

性能测试测试哪些方面?

对资源的利用率:cpu,gpu,内存,硬盘,网络,电源

响应时间:用户发送请求到用户所期待的响应展示出来

吞吐量:系统在单位时间处理的信息量,字节,事物处理量,HTTP请求量

内存泄漏?

内存泄漏就是系统在使用一些内存的时候,没有及时释放或没法释放,造成系统占用的内存越来越大,系统运行越来越慢,影响其他app的运行

造成内存泄漏的原因?(静态测试,或用一些工具检测)

分配了内存,忘记回收

写法有问题导致分配的内存无法回收

错误的使用API造成内存无法回收

 

作者:mob604756fef1ec

原文链接:https://blog.51cto.com/u_15127650/4292522

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   首先作为一个初级测试人,我对初级的定义一般是在 0 到 5 年,或者 0 到 3 年。要回答这个问题,先明确的一点是,前面我们讲到测试已经不是以前传统的测试,是一个大的测试,是一个广义的测试,那么在这种情况下,测试分为三类人:一类是做业务功能的测试;一类就是做自动化测试,把这些业务功能的测试转换成自动化的脚本;那么第三类人就是做测试平台、测试工具、测试服务开发的。  你首先需要明确的是,你想在这三块当中所做的是哪一块?明确了这个之后,我们再来看每一块怎么去做发展。  第一类,你想做一个业务的专家, 也就是说你怎么来把业务做得非常的精通。这类人在将来应该还是比较吃香的,但是,这类人的数量应该...
            0 0 882
            分享
          •   一、Spring-Intergration 简介  Spring-Intergration提供Spring编程模型的拓展,以支持EIP(nterprise Integration Patterns,企业集成模式)。在基于Spring的应用程序中支持轻量级的消息传递,支持通过适配器(Adapters)与外部系统集成。Spring-Intergration有以下目标:  ·提供一个简单的模型来实现复杂的企业集成解决方案  ·在基于Spring的应用程序中提供异步、消息驱动的行为  ·激励Spring的现有用户直观、增量的使用Spring-Intergration  二、Spring-Inter...
            0 0 1045
            分享
          • 新浪科技讯北京时间11月16日早间消息,据报道,知情人士透露,亿万富翁埃隆·马斯克(Elon Musk)旗下的SpaceX正在进行谈判,该准备在新一轮融资中筹集近10亿美元,这将使这家火箭发射和卫星的估值达到1500亿美元左右。知情人士称,在正在进行中的谈判中,SpaceX的每股价格约为85美元,并将该今年早些时候的1205亿美元估值进一步推高。其中一位知情人士补充说,该公司的本轮融资可能会获得近10亿美元的资金。这表明,投资者对该的兴趣很高,而与此同时,其他一些处于后期融资的初创企业却不得不面临削减估值的情况。对此,SpaceX没有立即对置评请求做出回应。据悉,SpaceX与亚马逊创始人杰夫...
            0 0 1108
            分享
          • 输入框1、字符型输入框:单行文本输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”,特别要注意单引号和&符号。如果禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入;长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超过字符比如把整个文章拷贝过去;空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格;多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提示);安全性检查:输入特殊字符串(null,NULL ,javasc...
            12 14 3857
            分享
          • 关于app自动化测试,元素定位工具有三个:appium自带的Appium Inspector工具Android ADT原生的工具python版uiautomator2中的weditor由于我常用的是前两个,所以下面只介绍前面两种元素定位工具(以下内容中均以微博为例子)一、元素定位工具(一)Appium Inspector使用该工具的使用前提:客户端通过adb devices的dos命令确认是否连接设备当前连接的设备是否被其它应用程序占用已安装appium desktop(appium的desktop下载地址:http://appium.io/)使用步骤如下:启动appium服务器,点击右上角的...
            15 15 2166
            分享
      • 51testing软件测试圈微信