软件测试进阶篇

本文详细介绍了软件测试的不同层面,包括测试金字塔、开发阶段划分、组织实施、运行方式、手工与自动化、代码查看角度以及测试对象。重点讨论了单元测试、集成测试、系统测试和验收测试的定义、目的、阶段和方法,强调了测试的重要性及其在整个软件开发过程中的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.测试金字塔


集成                   UI Tests  界面测
                     Service  Tests  业务测试     

独立            Unit  Tests     单元测试

测试金字塔的特点:
越往上测试投入产出比越低;
越往上测试效率越低;
越往上测试定位问题越困难;

2.按照开发阶段划分

单元测试,集成测试,系统测试,验收测试;
(1)单元测试:单元测试就是对系统或者程序的最小的功能单元进行测试。一般指一个具体功能的方法;
测试阶段(时间):编码后,编码前(TDD)
测试单元:程序中最小的单元;
测试依据:详细设计文档和代码注释
测试方法:白盒测试
测试人员:开发人员或者白盒测试工程师
测试内容:方法参数(类型,个数,顺序),路径(if else),异常,边界,局部数据结构
如何进行单元测试?
安装白盒测试框架 java Junit
(2)集成测试:把单元模块按照一定的策略组合起来形成一个大的功能模块,我们对这个功能模块进行测试,叫集成测试
测试阶段:单元测试之后
测试人员:黑盒测试工程师/白盒测试工程师
测试方法:灰盒测试
测试依据:概要设计,接口文档
测试内容:接口,全局数据变换,模块和模块之间的功能是否冲突,单个模块的缺陷对多个模块是否有影响,接口的功能是否实现
(3)系统测试:就是对我没给你的系统的功能进行全面测试
测试阶段:集成测试之后
测试人员:功能测试工程师(黑盒测试工程师)
测试方法:黑盒测试
测试依据:软件需求文档
测试内容:功能、界面、性能、易用性、兼容性、可移植性、安全性、可靠性等
回归测试和冒烟测试属于系统测试。
冒烟测试: 在测试人员正式介入测试之前:测试人员(或者开发人员)要对系统的主要功能或者核心的流程进行测试,就叫做冒烟测试。
(4)验收测试:用户来对系统进行全面测试,系统功能,文档;
测试阶段:系统测试之后
测试依据:用户需求
测试人员:用户
测试方法:黑盒测试
测试内容:系统的所有的功能,基本和系统测试的内容是一样的,除此之外,对用户手册,开发文档,设计文档等进行要收。

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

α测试 β测试 第三方
α测试其实就是在开发环境下,让非开发人员和非测试人员,进行测试,测试出的问题反馈给开发人员,开发人员会不断进行修改,直到没有问题
进行β测试之前要进行很长一段时间α测试
第三方是第三方软件测评机构按照一定的标准规范进行软件测试

4.按是否运行划分测试类型

静态测试:不运行代码,检查(代码走查,code review),看代码的书写规范,风格是否符合公司标准,看代码的逻辑结构,功能符合需求
功能、性能、兼容性、易用性、可靠性、安全性、可维护性、可移植性
动态测试:运行代码部署系统,手工或者自动化脚本之类的测试

5.按照是否手工划分

手工测试:具有一定的灵活性(根据实际系统的情况,随时改变测试的思路),探索性测试
测试用例很多,比较繁琐,量大,时间长容易出错。效率低

自动化测试:提前按照一定的脚本设定好条件,让机器自动去执行。效率很高。不会出错,除非机器本身出现了故障了
不是所有的项目(系统)都适合自动化测试,功能比较稳定的系统适合自动化测试

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

(1)黑盒测试:
         不关注软件内部的结构,逻辑,代码实现,只关心输入和输出,看相应的输入是否对应着和需求一致的输出。
   黑盒测试设计测试用例的方法有哪些?
等价类,边界值,因果图,场景法,错误猜测法,正交法
(2)白盒测试
        主要测试系统内部的逻辑结构是否符合需求,关注代码的实现功能,主要对代码进行测试。
白盒测试的方法有哪些: 语句覆盖,路径覆盖,条件覆盖,判定覆盖,条件组合覆盖,判定组合覆盖。                           单元测试是白盒测试的一种手段
(3)灰盒测试:介于黑盒和白盒之间。

7.按照测试对象划分

业务测试(场景测试):其实就是根据需求的设定,把不同的功能点按照一定的策略组合起来,形成一个业务流。
      用户几十万的订单,(不同的商品-不同的供应商)-采购系统-
界面测试: 用户通过界面和系统进行直接交互的,界面的设计直接决定了用户体验感官。
      界面测试的依据:UI设计师的界面设计稿,元素的布局,排版,大小都标记清楚。
      字体:大小,类型,粗体,是否斜体,位置,锁紧,行高,字体间距
      图片:排版,画面是否清晰,样式
     控件:按钮是否可用,滚动条,CheckBox是否可用,有效状态高亮展示,无效状态置灰
     删除操作,是否有提示,提示信息是否完整
     整个页面元素的排版布局,背景的颜色,透明度
界面自适应测试:
(1)界面大小变化的时候,字体有没有模糊,消失,或者重叠
(2)界面大小变化的时候,图片有没有模糊,消失,重叠
(3)界面大小变化的时候,功能有没有消失,能否正常使用
(4)界面在不同的大小下,界面是否和UI设计稿一致
容错性测试:
       当系统由于外部的一些异常操作或者外部的环境引起系统的错误,但是系统可以自我消化这些问题
       不直接展示给用户,这个叫做系统的容错性。
       数据级别容错性:
       限制输入长度(输入20位字符就不在允许输入):(发红包)人民币最小输入多少 0.001,ATM取款限制取款输入额度
      校验级别:输入框前后空格开发时直接去掉,大小写不敏感,大小写自动切换;同一个表单,填写信息前后不一致的时候(身份证,姓名),提交的时候有提示。
      界面级别:对于一些危险的操作,在界面直接屏蔽掉不让用户使用。
                    为了防止用户输入不符合规定的数据,直接下拉框,直接给选项让用户勾选;
                    对于界面一些复杂的操作,用户很有可能操作错误,会提供给用户操作提示
      环境级别:断电,断网,服务器瘫痪,有备选方案,可以让用户无感知切换。
文档测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值