系统工程课件-软件测试基础.pptVIP

  • 0
  • 0
  • 约2.37千字
  • 约 30页
  • 2022-10-07 发布于未知
  • 举报
软件测试基础 2.2软件测试基本知识 2.2.1 软件测试的定义 2.2.2 软件测试的重要性 2.2.3 软件测试的目的和原则 2.2.4 软件测试的对象 2.2.5 对软件测试的错误认识 2.2软件测试基本知识 软件测试是软件开发过程中的一个阶段,是软件开发的重要组成部分。自从有了程序设计的那天起,测试就一直伴随着软件的开发,测试对于软件生产来说是必需的和重要的。 2.2.1软件测试的定义 定义1: 1983年, IEEE提出的软件工程标准术语中给软件测试下的定义: 软件测试是使用人工的或自动的手段来运行或检测某个系统的过程, 其目的在于检验它是否满足约定的需求或是比较预期结果与实际结果之间的差别。 这一定义非常明确地提出了软件测试以检验是否满足需求为目标。 2.2.1软件测试的定义 定义2: Glenford J.Myers在其1979年《软件测试技巧》(“The Art of Software Testing”)一书中对软件测试的定义是: 软件测试是为了发现错误而运行程序的过程。 这一定义明确指出软件测试的目的是“发现错误”。 2.2.2软件测试的重要性 微软公司的统计资料显示,在某个软件的开发队伍中: 测试人员占到了项目总人数的64%; 开发人员只占到项目总人数的31%; 软件测试工作量往往占软件开发总工作量的40%以上; 在软件开发的总成本中,花费在软件测试上的成本要占30%到50%。 2.2.2软件测试的重要性 微软在开发Windows 2000的过程中: 投入了1700多个开发人员; 投入了3200多个测试人员; 2.2.2软件测试的重要性 1.软件质量越来越受重视。 2.修复一个软件错误所需的费用随着软件生存周期的进展而上升。 1.软件质量越来越受重视 根据Boehm的统计: 软件开发总成本中,用在测试上的开销要占到30%到50%。 另外,维护工作相当于二次开发,乃至多次开发,其中必定也包含有许多测试工作。 因此,有人估计全部软件开发工作中大约有50%的时间和50%以上的成本花在测试工作上。 2.修正一个软件错误所需的费用随着软件生存周期的进展而上升。 2.修正一个软件错误所需的费用随着软件生存周期的进展而上升。 需求 设计 编码与测试 维护 A 修正一个软件错误所需的费用 图2-3 测试与软件开发前期工作的关系 决定软件与系统的配合关系 需求分析 概要设计 详细设计 编 码 单元测试 集成测试 确认测试 系统测试 2.2.3软件测试的目的和原则 1.软件测试目的 ? 发现错误。 2. 软件测试原则 提早、IPO、独立、用例设计、严格性、覆盖… 1.软件测试目的 Glenford J.Myers就软件测试目的提出以下观点: (1)测试是程序的运行过程,目的在于发现错误。 (2)一个好的测试用例在于能够发现至今未发现的错误。 (3)一个成功的测试是发现了至今未发现的错误的测试。 所以,测试的目的是以最少的时间和人力找出软件中潜在的各种错误和缺陷。 2. 软件测试原则 提早原则 IPO原则 独立测试原则 测试用例设计原则 错误群集现象 严格性原则 覆盖原则 全面测试原则 回归测试原则 错误不可避免原则 (1)提早原则 作为测试人员,应当把“尽早地和不断地进行软件测试”作为软件开发的座右铭。 据统计,约60%的错误来自设计阶段以前,并且修复一个软件错误所需的费用将随着软件生存周期的进展而上升。 (2)IPO原则 测试人员在设计测试用例时,要注意: 测试用例应由测试输入数据,测试执行步骤和预期输出结果三部分组成。 (3)独立测试原则 测试组织与开发组织的独立性或耦合性: 开发人员应避免测试自己的程序。程序开发机构不应测试自己的程序。 (3)独立测试原则 独立测试原则带来的好处: 客观性:经济上的独立性使测试工作有更充分的条件按测试要求去完成; 专业性:软件测试是技术含量很高的工作,需要有专业队伍加以研究,并进行工程实践。专业化分工是提高测试水平,保证测试质量,充分发挥测试效用的必然途径; 权威性:由于专业优势,独立测试工作形成的测试结果更具有信服力和权威性; 资源有保证:独立测试机构在经费、人力和计划方面更有保证,可以避免测试的随意性。 (4)测试用例设计原则 设计测试用例时,应当使用规范的设计方法: 等价类划分; 因果图; 边界数据; 合法和非法数据。 (5)错误群集现象 在进行软件测试时,应当充分注意测试中的软件错误群集现象: 在已经发现有软件错误

文档评论(0)

1亿VIP精品文档

相关文档