logo资料库

软件测试复习.doc

第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
资料共17页,剩余部分请下载后查看
1.bug 的基本概念 •Defect 缺陷 •Fault 错误 •Problem 问题 •Error 错误 •Incidence 事变 •Anomaly 异常 •Variance 偏差 •Failure 失败 •Inconsistency 矛盾 •Product Anomaly 产品异常 •Product Incidence 产品事变 •Feature 2.Bug 发生的比例,需求排第一 规格说明书 55% 设计阶段 25% 编码阶段 15% 其他 5% 3.Bug 与需求间的关系 •软件没有做规格说明书提出应该做的事 •软件做了规格说明书提出不能做的事 •软件做了规格说明书没有提到的事 •软件没做规格说明书没有提出但是实际应该做的事 •软件难以理解、使用,运行很慢 4.什么叫做软件测试 对软件产品进行充分的测试,尽早找出其中的 bug,并督促相关人员进行修复。 Find + Fix 5.Bug 发现的成本曲线 需求分析 设计 编程 测试 发布
6.软件测试人员需要具备的素质  沟通能力  技术能力  信心  外交能力和幽默感  耐心  很强的记忆力  怀疑精神  洞察力  适度的好奇心  反向思维能力和发散思维能力 7.什么叫做软件工程 软件工程是一门与所有软件生产领域相关的工程学科,即包括技术,也包括管理。 8.TDD(测试驱动开发) 先把产品框架(类和接口)写好 2. 编写测试代码 3. 编写产品代码 4. 运行测试代码,检查产品代码,debug 9.软件测试的几个模型,前三个为重点
左半边是右半边的标准 左边静态测试,右边动态测试 测试与其他流程并发进行,独立但贯穿整个产品的生命周期 测试尽早准备尽早执行 测试准备和测试执行 分离
10.九大原则 1. It's impossible to test a program completely. 没有办法做到穷举测试 2. Software testing is a risk-based exercise. 3. Testing can't show the absence of bugs. 【测试通过】不能证明【没有 bug】(必要条件,而 非充分条件) 4. The more bugs you find, the more bugs there are. 5. Not all bugs found will be fixed. 不是所有 bug 都会被修复 6. It is difficult to say when a bug is indeed a bug. (Bugs that are undiscovered are called latent bugs.)很难说明什么时候一个 bug 就是一个 bug 7. Specifications are never final. Building a product based on a“moving target” specification. 需 求永远不会终结,变更是不可避免的,随着项目的进度不断滚动 8. Software testers are not the most popular members of a project. 9. Software testing is a disciplined and technical profession. 补充原则 ·所有测试的标准都是建立在用户需求之上。 • 软件测试必须基于“质量第一”的思想去开展各项工作,当时间和核心质量冲突时,时间要服 从质量。 • 事先定义好产品的质量标准,只有有了质量标准,才能根据测试的结果,对产品的质量进 行分析和评估。 • 软件项目一启动,软件测试也就是开始,而不是等程序写完,才开始进行测试。 ·第三方进行测试会更客观,更有效。 • 重视文档,妥善保存一切测试过程文档(测试计划、测 试用例、测试报告等) 软件测试的分类
静态测试 1. 需求评审 2. 概要设计评审 3. 详细设计评审 4. 代码检查 动态测试 1. 单元测试 2. 集成测试 3. 系统测试 4. 验收测试 方法 白盒测试:关注代码结构,工作量大 黑盒测试:把测试的系统当成一个黑盒,只关注输入与输出匹配 灰盒测试:介于两者之间 目标 / 特性 功能测试 强壮性测试 性能测试 适用性测试 安全性测试 可靠性测试 11.二八原则 20%的常用功能要着重测试,花费 80%的精力 80%的错误是由 20%的模块引起的
80%的测试成本花在 20%的软件模块中 80%的测试时间花在 20%的软件模块中 12.单元、集成、系统测试,所用白盒方法 13.测试与调试之间的关系 测试发展初期,测试就是调试,现在测试是一个系统化工程化的概念,调试的范畴更小一点。 调试不属于测试,是编码阶段的工作,由程序猿执行。 调试与测试的对象以及采用的方法有很大程度的相似。调试还有断点等排错方法,但目的完 全不同 测试由程序猿或者测试员进行 测试是为了找出软件的缺陷,调试是为了解决存在的缺陷 成功的测试发现了错误,引起调试的进行 14.Verification 和 validation 的差别 Verification 验证 关注产品生产的过程(product right?) 验证:通过提供客观证据证明规定的要求是否得到满足,也就是说输入和 输出作比较 Validation 确认 关注产品结果(right product?) 确认,在验证好的基础上,对预期的使用和应用要求是否得到满足,也就是说在确认时,应 考虑使用和应用要求的条件范围要远大于输入时确定的范围,一般由客户或者客户代表执 行。 Verification: . 确定软件开发过程中给定阶段的产品是否满足在前一阶段建立的需求的过程 Validation: 在软件开发结束时评估软件以确保符合预期使用的过程。 15.SQA 软件质量保证与测试的关系 SQA,软件质量保证,通过对软件产品和活动有计划的进行评审和审计来验证软件是否合乎 标准的系统工程活动 SQA 是管理工作,审查对象是流程,强调以预防为主
测试是技术实施工作,测试对象是产品,主要是以事后检查(文档,程序)为主 SQA 指导测试,监控测试 测试为 SQA 提供依据 测试是 SQA 的一个环节,一个手段 SQA 活动 标准的制定,执行 技术方法的应用 软件测试 正式技术评审的实施 修改的控制 度量:对质量进行量化 质量记录和记录保存 16.测试计划 17.队伍中人员的角色,问答题
18.测试用例基本概念 满足特定目的的测试数据,测试代码,测试规程的集合 软件测试的最小测试执行单元 有特殊的书写标准和基本规则 有明确的输入,输出 19.测试用例的作用  开始测试之前设计好测试用例,避免盲目测试并提高测试效率,减少测试的 不完全性  使得软件测试的实施重点突出,目的明确  根据测试用例的多少和执行难度,估算测试工作量,便于测试项目的时间和 资源管理与跟踪  便于大型软件测试外包测试指导基础  减少回归测试的复杂程度  版本更新之后只需要修改少量的测试用例便可开展测试工作,降低工作程 度,缩短项目周期 20.测试策略基本概念 测试策略通常是描述测试工程的总体方法和目标,描述目前在进行哪一阶段的测试以及每个 阶段内进行的测试种类和方法,以确定合理的测试方案使得测试更有效
分享到:
收藏