软件测试理论基础

软件测试理论基础

  1. 软件的定义
  • 软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它是包括程序(program)、数据(date)和文档(document)的完整集合。

  • 软件=程序+数据+文档
    程序:是能够完成预定功能和性能的可执行的指令序列
    数据:是使程序能够适当地处理信息的数据结构,输入与输出,数据库等
    文档:是开发、使用和维护程序所需要的图文资料,需求分析、概要设计、详细设计等各阶段 文档,还包括用户文档。

  1. 软件的分类
  • 按层次

    系统软件(在硬件之上)

    支撑软件(方便地操纵计算机)

    应用软件(常用的计算机软件)

  • 按使用范围

    单机版软件

    分布式软件(C/S结构)(B/S结构)

  1. 软件特性
  • 软件是一种逻辑实体,具有抽象性。

  • 软件对硬件和环境等有着不同的依赖性。

二.软件危机与软件工程

  1. 软件危机
  • 软件危机是指在软件开发和维护过程中遇到的一系列问题,包括:
    一、如何开发软件,以满足不断增长,日趋复杂的需求。
    二、如何维护数量不断膨胀的软件产品。
  1. 软件危机的典型表现
  • 软件的开发成本和进度估计不准确
  • 软件没有适合的文档
  • 软件开发的速度
  • 忽视软件开发前期的调研和需求分析工作
  • 缺乏软件开发的经验
  • 文档资料不规范或不准确,缺乏完善的质量保证体系
  1. 软件工程
  • 软件工程是一门研究怎么用系统化、规范化、数量化等工程原则和方法去进行软件的研发和维护的学科。
  • 软件工程包括两方面内容:软件研发技术和软件项目管理。
  • 软件研发技术包括:软件研发方法学、软件工具和软件工程环境。
  • 软件项目管理包括:软件度量、项目估算、进度控制、人员组织、设置管理、项目计划等。

三. 软件测试的产生,概念和意义

  1. 软件测试产生的背景
  • 程序规模的爆炸式增长
  • 程序模块间接口增多
  • 程序代码规模显著增大
  • 程序结构和算法更加复杂
  • 在程序员和用户之间寻找平衡
  1. 软件测试的意义
  • 从工作量上来说:解放程序员和售后服务人员
  • 从软件测试过程的角度来说:它推动了软件工程的发展,使软件的质量得到了阶段性的提升
  1. 软件测试概念
  • 是为了发现错误而执行程序的过程。
  • 应关心程序的效率和鲁棒性等因素。
  • 检验软件是否满足规定的需求。
  • 弄清预期与实际结果之间的差别。
  1. 软件测试的定义
  • 使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
  1. 软件测试活动
  • 制定测试计划
  • 设计测试用例
  • 执行测试
  • 提交缺陷报告
  • 测试总结

四. 软件测试的目的和原则

  1. 软件测试的目的
  • 测试是程序的执行过程,目的在于发现错误。
  • 确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明。
  • 确保产品满足性能和效率的要求。
  • 确保产品是健壮的和适应用户环境的。
  1. 软件测试的原则
  • 软件测试应该尽早执行
  • 软件测试应该贯穿整个软件的生命周期
  • 软件测试应追溯需求
  • 测试应由第三方来构造
  • 穷举测试是不可能的,要遵循Good-enough原则
  • 必须确定预期输出(或结果)
  • 必须彻底检查每个测试结果
  • 充分注意测试中的群集现象
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值