1-软件测试快速入门

本文详述了软件测试的定义、原则和全程质量保证,涵盖了从需求、设计到实施的全过程。强调了测试早期介入的重要性,指出测试并非证明软件无错,而是发现和减少缺陷。介绍了80-20原则,以及软件测试流程、不同类型测试如单元测试、集成测试、系统测试和验收测试的执行和目标。同时讨论了测试人员和开发人员的注意事项,以及测试沟通的策略。此外,文章还探讨了软件缺陷无法完全消除的原因,提供了测试计划、用例设计、测试用例选择策略以及错误处理和边界条件测试的方法。最后,讲解了不同类型的测试,如恢复测试、安全测试、强度测试和性能测试,以及确认测试(验收测试)的流程和目的。

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

目录

软件测试定义、原则

全程质量保证

软件测试流程

软件测试启动和结束准则

软件测试沟通技巧

软件测试定义

  • 软件测试的目标应该服从于软件项目的目标。软件测试通过使用更高效的方法和工具,提升软件开发效率及软件开发质量。
  • 在规定条件下对软件系统进行审核、运行和评估,验证软件系统是都满足需求。
  • 预防、发现、跟踪软件的缺陷,提高产品质量。
  • 软件测试通过技术手段,更早、更快、更多的发现缺陷,从而降低这些缺陷可能带来的风险。

软件测试原则--思维

  • 发现尽可能多的缺陷,不是为了说明软件中没有缺陷。
  • 成功的测试在于发现了迄今为止未发现的缺陷。----追求
  • 测试绝不能证明软件100%正确,即使经过了最严格的测试之后,仍然可能还有没被发现的错误潜藏在软件中。
  • 评审-->头脑风暴-->交叉测试                例如:5个人,10个人
  • 测试越早,发现问题后解决问题的成本越小。

软件测试原则

  1. 测试工作是有计划的,应尽早开展测试工作。--测试计划
  2. 尽量避免测试自己开发的程序。
  3. 测试只能证明缺陷存在,不能证明缺陷不存在。
  4. “彻底地测试”难以成为现实,要考虑时间、费用等限制,不允许无休止地测试。
  5. 测试都应追溯到用户追求。
  6. 测试设计和测试执行应该进行分离。
  7. 软件缺陷具有免疫性,应尽早可能采用多种方法和数据对软件进行测试。

(标准意义上测试应从需求评审开始)

推荐书籍:《人人都是产品经理》前三章

全程软件质量保证

  • 决定软件质量的关键因素由需求分析、设计和实现等,测试是贯穿于上述过程的一种检查手段;
  • 测试是提高软件质量最直接的手段,但不是全部,软件开发生命周期中的各个环节都会影响到软件的质量;
  • 测试能提高软件的质量,但是提高软件质量不能完全依赖测试。 

如何进行高效的测试

  • 测试工程师可以尝试通过一些持续集成的手段,尽早地开展测试活动,还可以加入自动化技术,通过不断、反复地测试来发现更多的缺陷。
  • 以下两个方面都是有效提高软件质量的重要手段:
  1. 测试可以做到对缺陷的预防。
  2. 测试需要对缺陷进行检查。
  • 一个高质量的软件系统是设计和开发出来的,并不是测试出来的。

 软件测试与软件缺陷

  • 软件缺陷被测试工程师和开发工程师们称作Bug。
  • 软件缺陷会导致软件不能正常运行,它的存在会在一定程序上导致软件不能满足用户的需求,甚至有可能破坏或泄露用户的重要数据。
  • 虽然软件测试为了消灭软件缺陷,但是迄今为止,还没有一种有效的软件缺陷检测机制可以完全达到这个目标。

为什么软件缺陷无法完全消除

  1. 软件运行的环境多种多样;
  2. 逻辑关系复杂;
  3. 多种多样的数据结构等因素;
  • 都决定着软件测试活动不可能通过遍历所有的功能和使用场景来发现软件系统中所有的缺陷。
  • 在软件开发的每个环节都可能把软件缺陷引入系统中,通过测试只能发布部分缺陷,并不能检测到系统中的所有缺陷。

80-20原则

  • 80%的缺陷聚集在20%的模块中,经常出错的模块改错后还会经常出错。

软件测试流程图

                                                                                                                                                  如何进行测试执行或开展的?

撰写测试报告改为 撰写测试缺陷报告

 软件测试流程图详解

 

软件测试规范流程细化

 敏捷测试流程图

每一轮都要发布一个可使用的产品。对测试人员技能要求高,其他方面(原理)一样。

测试启动准则

  • 同时满足以下条件,允许开始测试:
  1. 测试计划已经制定并且通过了审批;
  2. 测试用例已经设计并且并且通过了审批;
  3. 被测对象已经开发完毕并等待测试。

测试何时结束

  1. 基于测试用例的规则:8000个用例;
  2. 基于“测试期缺陷密度”的规则:5天总bug数小于多少个,没有严重的bug;
  3. 基于“运行期缺陷密度”的规则

测试完成准则

  • 对于非严格系统可以采用“基于测试用例”的准则。同时满足以下条件允许结束测试:

(1)功能性测试用例通过率达到100%;

(2)非功能性测试用例通过率达到90%时。

  • 对于严格系统,应当补充“基于测试期缺陷密度”的规则:

(3)n天内“测试期缺陷密度”全部低于某个值m。

测试沟通

开发人员的注意事项:

  1. 不要敌视测试人员。要理解测试的目的就是发现缺陷,是测试人员的工作职责。不要以为测试人员吃饱了没事干,存心找茬。
  2. 不要轻视测试人员,别说人家技术水平差,不配搞开发只好搞测试。

测试人员的注意事项:

  1. 发现缺陷是不要嘲笑开发人员,别说他的程序真臭、到处是Bug。
  2. 在开发人员压力太大时或者心情不好时不要火上浇油,发现缺陷时别大声嚷嚷。
  • 另一种极端:如果测试人员与开发人员的关系非常好,可能会导致在测试的时候“手下留情”,这对项目也是一种伤害。

需求、类型、阶段、策略

软件测试需求

软件测试的对象

软件测试阶段

软件测试策略

探索式软件测试

企业软件测试人员组织

软件测试应该从需求开始

软件测试的对象

  • 软件是由文档、数据以及程序组成的
  • 测试应该是对文档、数据以及程序进行的测试。
  • 60%以上的软件错误并不是程序错误,而是分析和设计错误。
  • 测试概念扩大化,提倡软件全生命周期测试的理念。

软件测试阶段

单元测试、集成测试、系统测试、验收测试是“从小到大”、“由内而外”、“循序渐进”的测试过程,体现了“分而治之”的思想。

说明: 一、由于附件大小的限制,已将文件打成两个包发布(保证内容完整),请需要的朋友分开下载,谢谢合作。 二、请自行下载超星阅读器 简介:   我所见过的最好最经典的软件测试入门书,有一个别名叫“软件测试的本质”。书中没有讨论太多的软件测试理论,只包含了一部分常用的、基本的知识。从什么是软件测试、为什么要作软件测试开始,逐步引入基本的和高级的测试技术和方法,然后开始把读者引入实际工作中,讲述了一般的测试过程中要经历哪些阶段,要作哪些具体的工作,如何开展测试工作,如何找到缺陷并提交缺陷。甚至还包括了对测试人员的职业指导。建议所有的测试人员都读一读。 编辑推荐: 本书与同类书相比,具有一个显著的特点,就是浅显易懂。虽然整本书涉及的范围相当广泛,但是作者始终没有忘记,是读者的书,而不是他本人在自言自语。能够在如此庞杂的学科中流畅讲解、层层剖析,可见作者深厚的技术功底和对软件测试、软件工程的透彻理解。 目录 第一部分 软件测试综述 第1软件测试背景 第2章 软件开发过程 第3章 软件测试的实质 第二部分 测试基础 第4章 检查产品说明书 第5章 闭着眼睛测试软件 第6章 检查代码 第7章 带上X光眼镜检查软件 第三部分 运用测试技术 第8章 配置测试 第9章 兼容性测试10章 外国语言测试11章 易用性测试12章 测试文档 第四部分 加强测试14章 自动测试测试工具 第15章 臭由轰炸和Beat测试 第五部分 使用测试文档 第16章 计划测试工作 第17章 编写和跟踪测试案例 第18章 报告发现的问题 第19章 评价成效 第六部分 软件测试展望 第20章 软件质量评判 第21软件测试员职业指导 附录测验问题解答
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值