【软件测试】概述

《软件缺陷》

  • 定义
  • (从产品内部看)软件产品开发或维护过程中存在的错误、毛病等各种问题
  • (从产品外部看)系统所需要实现的某种功能的失效或违背
  • 表现形式
  • (1) 软件没有实现产品规格说明所要求的功能模块
  • (2) 软件中出现了产品规格说明指明不应该出现的错误
  • (3) 软件实现了产品规格说明没有提到的功能模块
  • (4) 软件没有实现虽然产品规格说明没有明确提及但应该实现的目标
  • (5) 软件难以理解,不容易使用,运行缓慢,或从测试员的角度看,最终用户会认为不好
  • 等级
  • 致命级:系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等
  • 严重级:系统主要功能部分丧失,数据库调用错误,用户数据丢失,以及功能菜单不能使用但是不影响其他功能的测试。功能设计与需求严重不符,模块无法启动或调用,程序重启,自动退出,关联程序间调用冲突,安全问题,稳定性,等等
  • 一般级:功能没有完全实现但不影响使用,如次要功能丧失、提示信息不准确、用户界面差、操作时间长等
  • 建议级:处理测试人员提出对产品特性改进的各种建议或质疑,这类问题不影响操作功能的执行。如界面格式不规范、描述不清楚、提示语丢失、文字排列不整齐、光标位置不正确、用户体验感受不好等。

《软件测试基本概念》

  • 软件测试就是为了发现错误而执行程序或系统的过程
  • 软件测试的最终目的是检验实际的软件系统是否符合用户的需求
  • 软件包括程序、数据和文档
  • 软件测试贯穿于整个软件生命周期中
  • 需求分析 ——> 需求规格说明(检查要点:不可修改性、充分性、相似性;完整性不属于)
  • 概要设计 ——> 概要设计规格说明
  • 详细设计 ——> 详细设计规格说明
  • 程序编码 ——> 源程序

《软件测试原则》

  • 不可能进行完全测试
  • 软件测试具有风险的行为
  • 测试无法显示潜伏的软件缺陷
  • 充分注意软件缺陷的群集现象
  • 要避免软件测试的杀虫剂现象(必须不断编写不同的新测试程序,对程序的不同部分进行测试)
  • 并非所有的软件缺陷都能修复(根据风险决定修复与不修复)
  • 尽早地和不断地进行软件测试(需求分析和设计占64%,代码编写错误占36%)

《软件测试过程模型》

  • 常见的:V模型(最具代表意义)、W模型、H模型、X模型
    【软件测试】概述_第1张图片
    【软件测试】概述_第2张图片
    【软件测试】概述_第3张图片
    【软件测试】概述_第4张图片

《软件测试分类》

  • 按开发阶段划分
  • 单元测试(模块测试):对软件中最小可测试单元进行检查
  • 集成测试(组装测试)
  • 系统测试
  • 目的:对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计
  • 在系统测试中,测试人员主要根据需求规格说明书设计测试用例
  • 验收测试:由用户参加,在开发环境下进行的测试
  • 按测试技术划分
  • 白盒测试(结构性测试 / 逻辑驱动测试):确定测试数据应根据程序的内部逻辑和指定的覆盖标准
  • 黑盒测试(功能性测试 / 数据驱动测试):通过分析软件的功能 / 需求来设计测试用例的
  • 灰盒测试
  • 区分白盒测试和黑盒测试的依据:是否能看到被测试源程序
  • 按被测软件是否实际运行划分
  • 静态测试(代码检查、静态结构分析、代码质量度量)
  • 动态测试(输入测试):贯穿于软件产品开发过程及生命周期的每个阶段
  • 按测试实施组织划分
  • 开发方测试(验证测试 / α测试 / alpha测试):由用户参加,在开发环境下进行的测试
  • 用户测试(β测试 / beta测试):用户的使用性测试;在用户的环境下,用户参与的测试
  • 第三方测试(独立测试):介于软件开发和用户方之间的测试组织的测试

【软件测试】概述_第5张图片

  1. 什么是软件测试?软件测试的目的是什么?

软件测试是一种评估系统或系统组件的过程,目的是找出是否满足指定的需求。软件测试的目的是发现软件中的错误,以便在软件发布之前修复这些错误

  1. 软件测试的基本原则是有哪些?

测试应该开始于软件生命周期的早期;
测试应该是独立的;
测试是有风险的行为;
测试应该计划和控制;
测试的目的是发现错误等

  1. 软件测试有什么局限性?

测试不能保证软件完全没有错误;
测试只能检查已经实现的功能,不能检查未实现的功能;
测试是一种有风险的行为,需要根据风险进行管理等

  1. .常见的软件测试过程模型有哪些?

瀑布模型、V模型、W模型、H模型、X模型、螺旋模型等

  1. 谈谈你对软件测试重要性的理解

软件测试的重要性在于:它可以帮助我们发现软件中的错误,提高软件的质量,降低软件的风险,提高用户的满意度

  1. 软件测试与软件质量的关系

软件测试与软件质量的关系:软件测试是评估和提高软件质量的重要手段。通过软件测试,我们可以发现和修复软件中的错误,从而提高软件的质量

  1. 基本测试过程有哪些步骤

需求分析 ——> 编写测试计划 ——> 提取测试需求 ——> 设计测试用例 ——> 执行测试

你可能感兴趣的:(软件测试,功能测试,单元测试,测试用例)