软件测试基础知识

文章探讨了bug的起源和分类,强调了软件测试的重要性,包括从软件本身和项目全流程的角度进行质量控制。提到了瀑布模型、V模型和W模型等软件开发模型的优缺点,并概述了bug的生命周期,包括功能型、需求型、性能型和常识型bug。
摘要由CSDN通过智能技术生成

一、bug引发的思考

1.1什么是bug

bug翻译为虫子,最开始导致系统异常是由于一只虫子引起的,现在是指程序的漏洞。

1.2bug基本分类

  1. 功能逻辑bug

  1. 用户体验bug

1.3bug是如何产生的

程序在开发时考虑的不周全

程序设计不符合用户使用习惯

二、软件测试的本质是什么

技术上要以任何方法和手段发现bug

思维上以多视角的方式观察项目,预防bug

2.1软件测试的方法和手段

  1. 一般的方法和手段

  1. 从软件本身出发

  1. 从需求、功能实现、性能等角度发现软件本身的bug,通过手动或自动化测试发现软件bug

  1. 优点:注重软件本身、工作量不大

  1. 缺点:没有预防手段,发现bug时在修补回溯的流程比较长,耗时

  1. 从项目生命周期的全流程进行质量把控

  1. 强调预防,更高效

2.2如何开始软件测试的工作

测试工作的简要流程

  1. 了解需求

  1. 测试用例设计

  1. 测试环境准备

  1. 根据用例执行测试

  1. bug记录与上报

  1. bug修复(开发)

  1. bug修复后的验证

  1. 形成测试报告

  1. 项目上线

  1. 生产环境验证

三、软件测试的前置知识

3.1软件的定义

软件的分类

  1. 客户端软件

  1. 移动端软件

  1. 小程序软件

  1. 网页软件

软件的简版架构

  1. 用户层:用户直接看到和操作的部分

  1. 服务层:软件的核心处理逻辑的部分

  1. 数据层:存储数据的部分

3.2软件项目是如何诞生的

  1. 发现需求

  1. 测算市场规模

  1. 竞品调研

  1. 设计商业模式

  1. 设计产品模型

  1. 软件架构设计

  1. 软件开发

  1. 软件测试

  1. 线上部署

  1. 运营维护

  1. 软件设计

3.3为什么要进行软件测试

  1. 任何产品生产出来都是有可能存在瑕疵的

  1. 软件测试是保证软件质量最重要的一环

3.4一个项目各个阶段涉及人员及工作内容

  1. 需求阶段——产品经理,负责需求调研、竞品分析、产品原型设计

  1. 需求评审——所有成员参加,产品经理为大家讲解产品需求的逻辑

  1. 设计阶段

  1. ui、ue

  1. 架构师

  1. 开发阶段

  1. 前端开发

  1. 后端开发

  1. 测试阶段——测试工程师,负责软件实现后的质量检查

  1. 运营维护

  1. 运维工程师,负责线上服务器的服务部署与维护

  1. 数据库管理员,负责线上数据库的服务部署与维护

3.5项目开发模型

  1. 瀑布模型

优点:严格规定了每个阶段必须提交的文档,项目的推进必须按照一定的顺序来做

缺点:严重依赖项目文档,脱离用户真实需求,在可运行的软件产品交付给用户之前,用户只能通过文档来了解产品是什么样的,和可能导致最终开发出来的软件产品不能真正满足用户的需要,也不适合需求模糊的系统

  1. V模型

一种传统软件开发模型,适用于一些传统信息系统应用的开发,由于其模型结构图形似V字母,所以称为V模型。模型中明确的标注了测试过程中存在着哪些不同的测试类型,并且清楚地表达了测试阶段和开发过程各阶段的对应关系。需要软件开发完成后才开始测试活动。

优点:

  • 包含了从底层到顶层的测试

  • 更清楚的标示了开发和测试的各个阶段

  • 自上而下逐步求精,每个阶段分工明确,便与整体项目的把控

缺点

  • 自上而下的顺序导致测试工作在编码后,不能及时的进行修改

  • 实际工作中,需求经常变化,导致V模型步骤反复执行,返工量很大,灵活度较低

  1. W模型

也是一种传统软件开发模型,由两个V字模型组成,分别代表测试与开发过程,测试的活动与软件开发同步进行,测试的对象不仅仅是程序,还包括需求和设计。

优点

  • 测试伴随着整个开发周期,需求和设计同样要测试

  • 更早的介入测试,可以发现初期的缺陷,修复成本低

  • 分阶段工作,方便项目整体管理

缺点

  • 开发和测试依然是线性关系,需求的变更和调整,依然不方便

  • 如果没有文档,无法执行W模型

  • 对于项目组成员的技术要求更高

四、bug的生命周期

  1. bug的分类

  1. 功能型bug:产品实现过程中,具体逻辑的实现错误

  1. 需求型bug:指在软件项目管理过程中,需求阶段就埋下了隐患,如未按照需求实现、需求理解错误或需求未描述清楚等情况。

  1. 性能型bug:指软件在多人同时使用或长时间运行时出现了响应慢、崩溃的情况

  1. 常识型bug:在过去用户一直是这样认为的,已经形成一种约定俗成的规矩,但软件设计或开发人员就不按照此规矩

  1. 从项目角度看bug的生命周期

bug的一生

bug生命周期中的状态管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值