软件测试基本理论概述

软件测试基本理论

1、软件测试:
  1. 软件测试:验证软件是否满足用户的需求。

  2. IEEE定义:

    在规定条件下运行系统或构件的过程:观察和记录结果,并对系统或构件的某些方面做出评价。

    分析软件项目的过程:检测现有状况和所需状况之间的不同,并评估软件项目的特性。

2、软件测试和软件开发的区别:

软件测试和软件开发中的调试的区别

  1. 目的:

    软件测试的目的:测试人员根据需求去判断软件是否满足用户的需求。

    调试的目的:软件开发人员为了验证程序是否可以让程序实现的功能。

  2. 角色:

    调试:开发人员

    测试:测试人员、开发人员(单元测试)

  3. 阶段:

    调试:软件开发阶段

    测试:整个软件开发的生命周期

  4. 方法:

    调试:程序和逻辑算法

    测试:测试方法和技术

测试左移:需求前的调研阶段和需求阶段,测试人员参加。

测试右移:产品上线后,系统监控、日志记录和分析。

3、软件测试的目的和原则

​ 目的:

​ 直接目的:找bug,保证bug被修复。(以最少的人力、物力、时间找出软件中潜在的各种错误或缺陷,保证各种错误和缺陷得 以修复。)

​ 长远目标:利用测试过程中得到的测试结果和测试信息,作为后续项目开发和测试过程改进的重要输入,避免在未来的开发和 测试中出现重复的错误。

​ 原则:以客户为中心,遵循软件测试的规范、流程、标准和要求。

4、需求

​ 需求:满足用户的期望或符合合同规定的标准、规范以及文档所需要的条件和权限。

​ 用户需求:用户想要软件实现的功能。

​ 软件需求:用户需求的具体细化和具体实现细节,开发人员据此软件需求而必须实现的软件功能。

软件需求是由用户需求转化而来的。

5、BUG

​ (1)软件需求规格(软件需求)存在且合理,但软件功能和软件规格不相符合,即为软件错误。

​ (2)软件需求规格不存在时,若用户需求存在且合理,软件功能和用户需求不相符,即为软件错误。

6、测试用例

​ 向被测试系统发起的一组集合,包括测试数据、测试步骤、测试平台、预期结果。

7、开发模型

​ (1)瀑布模型

​ 优点:各个阶段较独立,着重需求分析和软件测试。

​ 缺点:无法适应需求的变化,测试到编码之后才介入,导致前期的缺陷无法及时发现,无法及时修改。

​ 适用场景:适用于需求稳定的项目。

​ (2)螺旋模型

​ 优点:强调软件的质量,进行严格 的风险分析,提供项目是否有必要继续进行下去的风险。

​ 缺点:引入风险管理,成本高。

​ 适用场景:前期需求不是很明确,且有风险,项目比较庞大的系统开发。

​ (3)迭代、增量模型

​ 迭代模型:迭代是反复求精的概念。

​ 增量模型:增量是逐块建造的概念,增量开发能显著降低项目风险。

​ (4)敏捷模型

​ 轻文档,轻流程,重目标,重质量,拥抱变化,适应需求的变化

​ 目标:交付高质量的可用的软件。

​ scrum流程:

​ PO,product owner 产品经理:将客户的需求整理成user story,根据user story的紧急程度排出本期要迭代 的user story ,并形成sprint backlog,PO是客户的代表方。

​ SM,scrum master 项目经理:负责保证整个敏捷流程的顺利实施。

​ ST,scrum team 研发团队:目标是交付一个高质量可用的软件。

​ (1)发布计划会议

​ (2)迭代计划会议:细化user story ,分配任务。

​ (3)每日站会:开发过程中,汇报昨天完成情况、所遇困难及今日计划。

​ (4)产品演示评审会:给用户演示完成的产品,PO将用户提出的意见整理成新的user story放到下一次迭代中。

​ (5)回顾会议:对本期迭代进行总结。

8、软件测试模型

​ (1)V模型

​ 优点:明确的标注了测试过程中存在的不同类型的测试,并且清楚的描述了这些测试阶段和开发过程期间各阶段的对应关系。

​ 缺点:仅仅把测试作为在编码之后的一个阶段,未在需求阶段就进入测试。

​ (2)W模型
​ 优点:测试与开发是同步进行的,有利于尽早地全面的发现问题

​ 缺点:需求、设计、编码等活动被视为串行的;测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下 一个阶段工作。无法支持敏捷开发模式。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临着困惑。

9、软件测试的生命周期(软件测试的流程)

​ 需求分析——测试计划——测试设计/开发——测试执行——测试报告

​ (1)需求分析:分析需求、细化需求,验证需求的正确性和合理性。

​ (2)测试计划:规划测试人员数量、规划时间、测试范围、测试目的。

​ (3)测试设计/开发:分析需求,从细化的需求中提炼功能点,设计测试用例。

​ (4)测试执行:执行测试用例,记录BUG。

​ (5)测试报告:测试的范围、测试用例的数量、已执行测试用例的数量、未执行测试用例的数量、已发现BUG数量、已修改BUG数量(修改之后需再测)、遗留BUG以及解决方案。

10、如何描述一个BUG?

​ (1)版本号(代码版本号)

​ (2)测试环境(平台):不同的浏览器

​ (3)测试步骤和测试数据

​ (4)实际结果、预期结果

​ (5)附件(错误截图、错误日志等)

11、BUG级别的定义

​ (1)崩溃:系统运行阻断,严重影响开发人员和测试人员的工作,需立即修复。(线上出现崩溃级别的BUG,可先回退到之前的一个稳定版本)

​ (2)严重:系统还可以运行,但不稳定,继续运行可能会产生严重的后果。

​ (3)一般:系统可以稳定运行,但一些次要功能未实现,影响用户体验。

​ (4)次要:(建议性BUG)影响用户的视觉体验,如界面展示、排版等等(是否需要修改可和产品经理商量)。

12、BUG的生命周期

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值