软件测试分类

目录

一、按照测试目标分类

1.界面测试(UI测试)

2.功能测试

3.可靠性测试

4.安全性测试

        ①垂直越权(不同权限层级间的越权)

        ②水平越权(相同权限层级间的越权)

二、按照执行方式分类

1.静态测试

2.动态测试

三、按照测试方法分类

1.白盒测试

2.黑盒测试

3.灰盒测试

四、按照测试阶段分类

1.单元测试:

2.集成测试:

3.系统测试:    

五、自动化测试和手工测试

六:按照实施组织划分

1. Alpha测试(A测试)

定义

关键特点

执行阶段

示例场景

2. Beta测试(B测试)

定义

关键特点

执行阶段

示例场景


一、按照测试目标分类

1.界面测试(UI测试)

        页面展示的所有元素/内容都需要测试


2.功能测试

        设计功能测试用例,参考产品规格说明书进行用例的编写,具体的测试用例需要使用黑盒测试用例的方法。(等价类,边界值,场景法,正交法,场景法,错误猜测法


3.可靠性测试

        可靠性=正常运行时间/(正常+非正常运行时间)*100%

        企业中一般软件产品/程序的可用性要求达到99.99%/99.999%


4.安全性测试

        越权问题:垂直越权和水平越权

        ①垂直越权(不同权限层级间的越权)

         示例场景:普通用户访问管理员接口

        场景:普通用户通过修改请求参数(如URL或API中的role=admin),直接调用管理员专属接口(如删除用户、修改系统配置)。

        漏洞原因:后端仅依赖前端传递的角色标识,未做二次校验。

       水平越权(相同权限层级间的越权)

        示例场景:共享账号下的数据泄露

        场景:医疗系统中,医生A和医生B权限相同,但医生A通过患者ID直接访问医生B负责的患者病历。

二、按照执行方式分类

1.静态测试

        在不实际运行被测软件,只是静态地检查程序代码,界面/文档中可能存在的错误的过程。


2.动态测试

        实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相等。

三、按照测试方法分类

1.白盒测试

        概念:(结构化测试/逻辑测试)一般用来分析程序的内部结构,针对程序的逻辑结构来设计测试用例进行测试。

        分类:

            1)静态测试:桌面检查,代码审查,代码走查,代码扫描工具

            2)动态测试:语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,条件组合覆盖,路径覆盖

1)语句覆盖:每个语句至少执行一次

2)判定覆盖:覆盖所有逻辑判断的真/假分支。

3)条件覆盖:使每个子条件(原子条件)的真/假均被覆盖。

4)判定条件覆盖:结合判定覆盖和条件覆盖来设计测试用例,既覆盖条件,也覆盖判定

5)条件组合覆盖:覆盖所有子条件的真/假组合(2^n种组合,n为子条件数)。

6)路径覆盖:覆盖代码所有可能的执行路径(包括循环、嵌套分支)。


2.黑盒测试

        (数据驱动测试)只注重软件的功能

        完全不考虑程序逻辑和内部结构的情况下,检查系统功能是否按照需求规格说明书的规定正常使用。

        缺点:不可能覆盖所有的代码

        测试方法:等价类,边界值,正交法,判定表法,错误猜测法,场景法。


3.灰盒测试

        介于白盒和黑盒测试之间的一种测试。

=> 多用于集成测试阶段,不仅关注输入,输出正确性,也关注程序内部情况。

四、按照测试阶段分类

1.单元测试:

        与编码同步进行,针对软件最小组成单元进行测试。

        主要采用白盒测试方法,从被测单元内部结构出发设计测试用例。


2.集成测试:

       做一个排序的系统,获取用户输入的数据,系统进行排序,再将数据输出。(灰盒测试)


3.系统测试:    

        对通过集成测试的系统进行整体测试,验证系统功能性和非功能性需求的实现。(黑盒测试)

        1)冒烟测试:检查主流程是否走的通

        2)回归测试:所有的页面所有的功能测试完备之后要整体再回归一遍。

五、自动化测试和手工测试

1)自动化:缺点:对测试人员技术要求较高,不能发散性测试。

                    优点:节省成本,提高测试人员执行工作效率,保证产品质量。


2)手工:缺点:效率低,人员,时间成本比起自动化测试都比较高

                优点:对测试人员技术要求没有自动化技术要求高,可以进行发散性测试。

六:按照实施组织划分

1. Alpha测试(A测试)

定义

在受控环境下由开发团队或内部用户(如QA、产品经理)进行的早期测试,通常在开发末期或预发布阶段执行。

关键特点
  • 环境:实验室或开发环境,模拟真实场景。

  • 参与者:内部人员(开发者、测试工程师)。

  • 目标

    • 发现核心功能缺陷、性能问题。

    • 验证功能是否符合需求文档。

  • 测试范围:覆盖主要功能,但可能忽略极端用户场景。

执行阶段
  • 开发完成 → 内部修复关键Bug → 进入Beta测试。

示例场景
  • 游戏公司邀请内部员工试玩新版本,记录崩溃和任务卡点。

  • 企业软件在内部部署测试版,验证数据导入流程。


2. Beta测试(B测试)

定义

在真实用户环境中由外部用户群体进行的测试,通常在Alpha测试之后、正式发布之前执行。

关键特点
  • 环境:真实用户环境(公测或限号测试)。

  • 参与者:真实用户(志愿者或目标客户)。

  • 目标

    • 收集用户体验反馈(易用性、界面设计)。

    • 发现长尾场景缺陷(如设备兼容性、网络波动)。

  • 测试范围:全功能开放,覆盖用户实际使用路径。

执行阶段
  • Alpha测试修复后 → 面向用户发布Beta版 → 收集反馈 → 正式发布。

示例场景
  • 手机厂商向公众推送Beta版系统,收集续航和发热反馈。

  • SaaS软件开放免费试用,分析用户行为数据优化流程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值