本节内容
目的:验证软件有或没有问题。 原则:以客户为中心,遵循软件测试的规范、流程、标准和要求。
需求是: 1. 用户解决问题或达到目的所需条件或权能; 2. 系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。是开发和测试的依据; 3. 一种反映上面(1)或(2)所述条件或权能的文档说明。它包括功能性需求及非功能性需求,非功能性需求对设计和实现提出了限制,比如性能要求,质量标准,或者设计限制。
需求一般分为两部分:用户需求、软件需求 用户需求:可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务。 软件需求:或叫功能需求,该需求会详细描述开发人员必须实现的软件功能。 软件需求是开发人员进行测试工作的基本依据。
bug 的后果:用户流失,绩效血崩。 bug的责任:程序员一般负主要责任。 bug的处理:生产环境上的问题,要第一时间回滚,在慢慢定位。
bug的定义:当且仅当规格说明是存在的并且正确,程序与规格说明之间的不匹配才是错误。 软件错误:是bug的补充,当程序没有实现其最终用户合理预期的功能需求时,就是软件错误。
是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。
测试用例的一些常用元素: 用例编号、标题(准备干啥)、模块(对象)、环境、操作平台、测试方式、前置条件(条件是否满足)、操作步骤、输入数据、预期结果。
测试过程中可能会遇到的问题: - 不知道是否全面的测试了所有功能 - 测试的覆盖率无法衡量 - 对新版本的测试很难实施 - 存在大量冗余测试影响测试效率。
软件的生命周期:一般分为6个阶段。即:需求分析—–计划—-设计—–编码—-测试—-运维
开发模型分为4种:瀑布模型、螺旋模型、增量迭代、敏捷
开始—-需求分析—-计划—-设计—-编码—-测试—-结束
瀑布模型在软件工程中占有重要地位,是所有其他模型的基础框架。瀑布模型的每个阶段都只执行一次,因此是线性顺序进行的软件开发模式。强调需求比较稳定的业务。
优点:
缺点:
在瀑布模型中,测试阶段处于软件实现之后,这意味着必须在代码完成后有足够的时间预留给测试活动,否则将导致测试不充分,从而把缺陷直接遗留给用户。
一般在软件开发初期阶段需求不是很明确时,采用渐进式的开发模型。螺旋模型是渐进式开发模型的代表之一。
适合于规模庞大、复杂度高、风险大的项目。
优点:
缺点:
增量开发能显著降低项目风险,结合软件持续构建机制。增量开发模型,鼓励用户反馈,在每个迭代过程中,促使开发小组以一种循环的、可预测的方式驱动产品的开发。因此,在这种开发模型下,每一次的迭代都意味着可能有需求的更改、构建出新的可执行软件版本,意味着测试需要频繁进行,测试人员需要与开发人员更加紧密的协作。 增量:是逐块构造的概念。 迭代:是反复精益求精的概念。
敏捷是当今主要流行的一种方式。
主要内容:
敏捷开发中比较流行的方式scrum
一、scrum里的角色: scrum是由产品经理(product owner)、项目经理(scrum master)、研发团队(team)组成。
二、迭代开发 与瀑布不同,scrum将产品的开发分解为若干个小sprint(迭代),其周期从1周到4周不等,但不会超过4周。参与的团队成员一般是5到9人。每期迭代要完成的user story是固定的。每次迭代会产生一定的交付。
三、scrum的基本流程
敏捷中的测试
轻文档和快速迭代 1. 测试工作的核心内容没有变,就是不断的找Bug,一起而以敏捷的原则为主。 2. 测试人员不能依赖文档,测试用例作用减弱,更多的是思维导图、探索性测试(强调自由度,设计和执行同时执行,根据测试结果不断调整测试计划)、自动化测试 3. 敏捷重合作,在敏捷项目组中,测试人员应更主动,多向开发人员了解需求、讨论设计、一起研究bug出现的原因。
测试模型分为2种:V模型、W模型
V模型目的是改进软件开发的效率和效果,是瀑布模型的变种。
配置管理是通过对在软件生命周期不同的时间点上的软件配置进行标识,并对这些被标识的软件配置项的更改进行系统控制,从而达到保证软件产品的完整性和可溯性的过程。
本文转自:https://blog.csdn.net/bit666888/article/details/81233612