软件工程概要与测试的概念

软件 = 程序 + 数据 + 文档

一、软件的十大特性

  1. 无形的
  2. 复杂的智力产品
  3. 尚未自动化
  4. 不存在完全没有缺陷的产品
  5. 复制简单,但成本有限
  6. 软件的管理更加独特
  7. 对计算机系统环境高度依赖
  8. 软件的维护在于升级、优化和功能更新,甚至重构
  9. 不会因使用而损坏
  10. 应用范围极广

二、软件的分类

软件分为系统软件应用软件

  • 系统软件例如操作系统、汇编程序、诊断程序等,它是管理硬件并协调其工作的
  • 应用软件例如浏览器、播放器、游戏等,它是用于特定用途的程序

三、软件的生命周期

  1. 问题定义
  2. 可行性研究
  3. 需求分析
  4. 概要设计
  5. 详细设计
  6. 编码和单元测试
  7. 综合测试
  8. 软件维护

四、开发模型

  1. 瀑布模型:线性进行(计划→需求分析→设计→编码→测试→运行维护),每一步都接收上一步的结果,但开发风险高,早期的错误可能要等到后期才能发现
  2. 原型模型:客户与开发紧密交互,细化需求
  3. 螺旋模型:将瀑布模型和原型模型结合起来,经历4个步骤(制定计划→风险分析→实施工程→客户评估),但过度强调风险
  4. 敏捷模型:以人为核心、迭代、循序渐进的开发,开发周期短,增量式开发,并利用自动化测试来监控,重沟通少文档,测试先行,但对团队综合素质要求较高

五、开发文档

  1. 需求分析文档
  2. 概要设计文档
  3. 详细设计文档
  4. 测试设计文档
  5. 测试用例
  6. 测试报告

六、软件测试的概念

软件测试是在规定的条件下对程序进行操作,以发现程序错误、衡量软件质量、判断其是否满足需求。

测试用例 = 测试数据 + 操作步骤 + 期望结果 + 测试环境

七、项目进程

  1. 编程阶段——白盒测试(单元测试)
  2. 编程完成——集成测试
  3. 提测阶段——冒烟测试(自动化为主)
  4. 系统测试——黑盒、安全、性能测试等
  5. 验收阶段——配合用户

八、测试模型

  1. V模型
  2. W模型
  3. H模型
  4. X模型

九、覆盖率

覆盖率用于度量测试完整性
覆盖率 = 执行过的item数 / item总数
覆盖率越高,成本越大

  • 需求覆盖 = 被验证到的需求数量 / 总的需求总数
  • 用例覆盖 = 验证过的用例数量 / 总的用例总数

十、测试的原则

  1. 所有测试都应追溯到用户需求
  2. 尽早启动测试工作
  3. Pareto法则(测试能消除96%的缺陷)
  4. 穷尽测试是不可能的
  5. 开发会对测试产生免疫
  6. 每次缺陷修复会引入新的缺陷
  7. 细心、信心、耐心,沟通意识 + 怀疑意识
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值