软件测试方法课程笔记(1)

举某些例子, 软件测试方法有黑盒测试, 白盒测试 按阶段来区分的话有单元测试, 集成测试, 系统测试 按目的来分有性能测试

对于测试来说应给出相应的标准来量化, 对页面应用等测试(自主进行). 最后是软件测试的自动化以及测试的管理

该课程并不会给出具体的工具, 应该针对应用进行相应的修改

成绩划分(Exam70%, Discussion10%(twice, PPT and report), quiz20%(five times))

1. 概述

1.1 为何软件测试是需要的

  • 软件无处不在
  • 产品的合格率(利用指数函数的性质来说明多部分系统难以完美)
  • 举出例子说明软件失效造成的灾难
    • North east Black 停电事故
    • Ariane5 爆炸
    • Mars Polar Lander 传感器失效

(1) 有错误的软件是不安全的 (2) 世界上大部分的经济损失都是由于软件失效 (3) 充分的测试可以规避风险 (4) 我们希望软件是可靠的

1.2 软件测试的部分内容(什么是缺陷, 历史, 概念)

Error, Fault, Failure, Incident都统称为缺陷

软件产品中所存在的问题, 最终表现为不能满足客户的需求

缺陷之定义:

  • 满足用户期望与否
  • 非正确执行的可行性
  • 所有类型的软件问题

缺陷的源头:

  • 需求定义
  • 设计
  • 实现
  • 支持的系统
  • 软件测试的完整性
  • 更新迭代

软件的开发流程都有可能出现缺陷

什么时候会出现缺陷:

  • 该完成没有完成
  • 不该完成而去做
  • 没有提及的去做了
  • 没有提及但是应该完成的没有完成
  • ....

大部分情况都会产生缺陷

正确的程序应该具有的特性:

  • 没有语法问题
  • 运行中没有明显问题
  • 没有不合适的语句
  • 有效的输入, 正确的输出
  • 无效的输入, 正确的输出
  • 任何可能的输入, 正确的输出

软件质量, 软件质量保证, 质量控制 (软件质量的评判是多维度的) 软件质量保证给出了一系列章程的制订 质量控制是具体的操作, 是质量保证的具体细节

1.3 软件测试的定义

首先是定义:

  1. 软件测试是系统化, 有计划的行动步骤
  2. 通过测试能够给出产品和服务质量的相关数据
  3. 测试可以发现用户期望实现与否
  4. 测试是软件质量保证的关键步骤
  • verification(验证) 从开发者的角度
  • validation(确认) 从用户的角度

关于测试的类型有许多种, 包括:

  1. 根据测试生成的源来划分(C1)
  2. 根据生命周期中所处的位置来划分(C2)
  3. 根据测试目标(C3)
  4. 根据被测对象的特征(C4)
  5. 根据模型进行划分(C5)

C1: 根据需求 --> 黑盒 根据代码 --> 白盒 根据形式化模型 --> 模型测试 组件接口 --> 接口测试

C2: 编码 -->单元测试 集成 --> 集成测试 系统集成 --> 系统测试 维护 --> 回归测试 发布之前的版本 --> beta测试

C3: 系统性能 --> 性能测试 etc

测试用例实质上就是一组输入和输出, 最后看预期的结果是否相符

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章