Skip to content
石头软件测试技术分享石头软件测试技术分享
主页
github icon
  • 测试基础

    • 测试基础
      • 软件测试的定义
        • 软件测试的目的
          • 软件测试的原则
            • 经验性原则
              • 二八原则
              • 软件测试的对象
                • 软件测试的分类
                  • 按测试技术划分
                    • 按测试阶段划分
                      • 按测试静态/动态划分
                        • 按系统测试类型划分(重点在于是否能正确理解用户需求)
                      • 测试思想
                        • 测试方法
                          • 用例设计方法
                            • 质量体系搭建

                            测试基础

                            author icon柚子calendar icon2022年1月17日category icon
                            • 测试基础
                            tag icon
                            • 测试基础
                            timer icon大约 4 分钟

                            此页内容
                            • 软件测试的定义
                            • 软件测试的目的
                            • 软件测试的原则
                              • 经验性原则
                              • 二八原则
                            • 软件测试的对象
                            • 软件测试的分类
                              • 按测试技术划分
                              • 按测试阶段划分
                              • 按测试静态/动态划分
                              • 按系统测试类型划分(重点在于是否能正确理解用户需求)

                            # 测试基础

                            # 软件测试的定义

                            • 在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否满足设计要求进行评估的过程。
                            • 是使用人工或自动手段对系统运行或测试的过程

                            # 软件测试的目的

                            • 为了发现程序存在的代码或业务逻辑错误
                            • 检验产品是否符合用户需求
                            • 提高用户体验

                            # 软件测试的原则

                            # 经验性原则

                            • 所有测试活动都应以用户需求(软件需求规格说明书)为标准
                            • 应尽早、不断进行软件测试
                            • 程序员应避免自查程序,而测试人员应避免执行自己的测试用例
                            • 尽量避免测试的随意性
                            • 测试的“杀虫剂效应”——思维方式操作路径、习惯
                            • 完全(穷举)测试是不可能实现的,测试需终止
                            • 制定严格的测试计划

                            # 二八原则

                            • 80%的错误是由20%的模块引起的

                              站在用户角度,并非研发实现的角度,正确地选择重要模块作为测试重点,从而不偏离方向。

                            • 80%的测试成本花在20%的软件模块中

                              设计用例时需要将时间花倾斜在复杂的20%核心模块上,从而设计更高效的测试用例。

                            • 80%的测试时间花在20%的软件模块中

                              软件测试执行过程中需要将时间倾斜在重要模块的测试用例中,从而使测试更加有效,发现bug。

                            # 软件测试的对象

                            • 软件:程序、文档
                            • 程序:源码、模块、部件、软件
                            • 文档:需求规格说明书,概要设计说明书,详细设计说明书,用户手册
                            • 数据:字符,图片,视频,音频
                              60%以上的软件错误并不是程序错误,而是分析和设计错误。
                              测试概念扩大化,提倡软件全生命周期测试的理念
                              规定的条件——开发环境、测试环境、真实环境
                              方式:人工、自动化
                              周期(过程):测试需求分析,计划,设计,执行,评估

                            # 软件测试的分类

                            # 按测试技术划分

                            • 白盒测试:关心软件的内部设计和程序实现 主要依据——设计文档
                            • 黑盒测试:不关心软件内部,只关心输入输出 主要依据——需求文档
                            • 灰盒测试(接口测试):介于黑白盒之间的测试,关注输出对于输入的正确性,同时也关注内部表现 主要依据

                            # 按测试阶段划分

                            阶段划分图标

                            • 单元测试:粒度最小,开发做,用白盒
                            • 集成测试:多个单元组成(白+黑)单元之间的调用与被调用,及接口测试,即关注输入输出,也关注代码
                            • 系统测试:粒度最大,用黑盒,参考规格说明书(用户需求)
                            • 验收测试:由用户做(黑盒), Apha(内测)公司内部在测试环境下使用,Beta(公测)用户直接使用
                              测试阶段主要依据测试人员、方式测试内容
                              单元测试设计文档开发,白盒规范,逻辑,路径
                              集成测试设计、需求文档开发,灰盒接口,路径,功能,性能
                              系统测试需求测试,黑盒功能,洁面,安全,兼容性
                              验收测试文档用户,黑盒易用性,压力,负载,恢复测试

                            # 按测试静态/动态划分

                            • 动态测试
                            • 静态测试(不运行程序)
                            • 程序走查(代码走查):程序员交叉检查彼此代码
                            • 文档检查:测试人员检查文档、术语、图片、操作流程

                            # 按系统测试类型划分(重点在于是否能正确理解用户需求)

                            • 功能测试
                            • 性能测试:关键软件处理业务的速度
                            • 界面测试:UI相关
                            • 安全性测试
                            • 兼容性测试:不同操作系统、分辨率、浏览器
                            • 易用性测试:主观测试软件是否好用
                            • 压力测试
                            • 负载测试
                            • 恢复测试
                            • 冒烟测试
                            • 回归测试
                            • 探索性测试

                            提示

                            内容正在完善中,请耐心等待...

                            下一页
                            测试思想
                            Copyright © 2021-present Evan You 石头 | 备案号 : 蜀ICP备2021021200号-2 | 友情链接 : APP开发者工具