软件测试复习

本文详述了软件测试的重要概念,包括Bug的定义、来源和发生情况,探讨了软件开发过程中的TDD及不同测试模型,如V模型、W模型和H模型。同时,阐述了软件测试的现实挑战,如不可能完全测试和基于风险的活动。文章还介绍了测试分类、SQA(软件质量保证)与测试的关系,并提供了白盒测试和黑盒测试的比较及各种测试策略和技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Introduction

Bug

  • Code:
    1. Defect
    2. Fault
    3. Error
    4. Failure
    5. Problem
    6. Incident
    7. Anomaly(异常)
    8. Variance
    9. Failure
  • Requirement:
    1. Inconsistency
    2. Product Anomaly
    3. Product Incidence
    4. Feature

Source of Problems

开发主线:
1. Requirements Definition: Erroneous, incomplete, inconsistent requirements
2. Design: Fundamental design flaws in the software
3. Implementation: Mistakes in programming faults, malicious code.
支线:
4. Support Systems: Poor programming languages, faulty compliers and debuggers, misleading development tools
5. Inadequate Testing of Software: Incomplete testing, poor verification, mistakes in debugging
6. Evolution: Sloppy redevelopment or maintenance, introduction of new flaws in attempts to fix old flaws, incremental escalation to inordinate complexity.

Bug发生的情况

  • 需求要做的东西软件没有完成(The software does not do something that specification says it should do.)
  • 需求不要求做得东西软件完成了(The software does something that specification says it should not do.)
  • 需求没有提到的东西软件完成了(The softwaer does something that the specification does not mention.)
  • 需求没有提到但是必须的东西软件没有完成(The software does not do something that the specification does not mention but should)
  • 软件难于理解,使用,很慢...(difficult to understant, hard to use, slow…)

Bugs来源

55% specification, 25% Design, 15% Code, 5% Other.

The Software Development Process

TDD - Test-Driven Development

这里写图片描述

软件测试模型

  1. V模型
    需求分析->规格说明书->概要设计->详细设计->编码->单元测试->集成测试->系统测试->验收测试
    这里写图片描述

  2. W模型
    测试伴随每一个阶段
    需求分析->概要设计->详细设计->编码-

1.2 软件缺陷( what is? why comes? and it’s cost)1.2 软件缺陷 1.2.1软件缺陷是什么?  定义:只有符合下列5个规则的软件问题,我们将其定义为软件缺陷(software fault) • 软件未达到产品说明书标明的功能 • 软件出现了产品说明书指明不会出现的错误 • 软件功能超出产品说明书指明范围 • 软件未达到产品说明书虽未指出但应达到的目标 • 软件测试员认为软件难以理解、不易使用、运行速度缓慢、`或者最终用户认为不好。 1.2.2为什么会出现软件缺陷?  从小程序到大项目的无数研究得出:导致软件缺陷最大的原因是产品说明书(需求)  其次的原因是设计方案的问题。 1.2.3软件缺陷的修复费用 1.3 软件测试员(job and qualification)1.3 软件测试员 1.3.1软件测试员的工作  软件测试员的目标是尽可能早的找出软件缺陷,并确保其得以修复。 1.3.2怎样成为优秀的软件测试员  技术能力  探索精神  不懈努力  创造力  说服力  准确的洞察力  坚韧不拔的毅力  追求完美 第2章 软件测试基础 2.1 测试原则(principle) .1测试原则 1.完全测试程序是不可能的  输入量太大  输出结果多  软件实现途径太多  软件说明书没有客观标准 2.软件测试是有风险的行为  如果试图测试所有情况,费用将大幅增加,软件缺陷漏掉的数量并不会费用上涨而显著下降。  如果减少测试或者错误地确定测试对象,那么费用很低,但是会漏掉大量软件缺陷。 (每个项目都有一个最优的测试量) 3.测试无法显示潜伏的软件缺陷 “Program testing can be used to show the presence of bugs but never to show their absence.” —Edsger W. Dijkstra, 1972 4.找到的软件缺陷越多,就说明软件缺陷越多
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值