07-软件的编码与测试

nobility 发布于 2020-11-04 916 次阅读


软件的编码与测试

编码风格

程序的内部文档

  • 命名:见名知意、精简、缩写一致。一个变量一种用途
    • 用Pascal命名法:每个单词首字母大写,其他小写
    • 用Camel(驼峰)命名法:首单词小写,之后的单词首字母大写
    • 匈牙利命名法:标注作用域和类型下划线隔开再写意义
  • 注释
    • 序言注释:整体说明
    • 功能注释:描述程序语句作用

测试

需求分析阶段指定过的测试计划,为了发现程序中错误而产生的

衡量软件质量因素的标准

  • MCC77
  • ISO9126

软件测试的过程

  1. 单元测试:程序员对单个模块检查是否完成预期功能->编码与详细设计(算法)的错误
  2. 集成测试:测试人员对通过了单元测试的模块,集成的系统进行测试->全局数据结构、接口(概要设计)的错误
    • 渐增式集成:有回归测试集产生回归测试问题
      • 自顶向下(宽度、广度)
      • 自定向上
      • 三明治
    • 非渐增式集成
      • 一次性集成
  3. 确认测试:测试人员依据软件需求说明书检查软件功能是否符合用户要求->系统说明书中的错误
  4. 系统测试:测试人员对软硬件、网络环境等运行测试和性能测试->运行平台中的错误
  5. 验收测试:软件使用者或第三方软件监理机构完成
    • alpha测试:开发环境,由开发者指导用户完成
    • beta测试:生产环境,用户独立完成

软件测试技术

白盒测试:利用程序内部的逻辑结构选择测试用例

  • 逻辑覆盖
    • 语句覆盖、点覆盖:程序中的每个可执行语句都至少执行一次
    • 判定覆盖、边覆盖:程序中的分支分别取真或假值一次
    • 条件覆盖:程序中的分支中的条件(单个条件,非组合条件)的可能取值至少执行一次
    • 判定/条件覆盖:既要满足判断条件的准则,也要满足条件覆盖的准则
    • 条件组合覆盖:程序中的分支中的条件(组合条件)的可能取值至少执行一次
    • 路径覆盖:可达路径和非可达路径都要走一遍
  • 控制结构测试

黑盒测试:只依据软件规格说明书检查程序是否符合功能或遗漏说明

  • 等价划分
    • 有效等价类:有意义的输入数据,通过性测试
    • 无效等价类:无意义的输入数据,非通过性测试
  • 边界值分析:针对各种边界情况设计测试用例
  • 错误推测:靠经验和直觉推测程序中可能存在的各种错误
  • 因果图:根据规格说明书描述,对原因和结果分类标识,写出判定(决策)表,根据判定表测试

软件调试技术

对错误进行定位,对错误进行修改

调试方法

  • 蛮干法
  • 回溯法
  • 对分查找法
  • 归纳法
  • 演绎法
此作者没有提供个人介绍
最后更新于 2020-11-04