软件测试概念与基础

简介: 软件测试概念与基础

一. 调试与测试的区别

1. 目的不同: 测试的任务是发现程序中的缺陷;调试的任务是定位并且解决程序中的问题.


2. 参与角色不同: 测试主要有测试人员和开发人员来执行,黑盒测试主要由测试人员完成,单元/集成测试主要时由开发人员完成


3. 执行的阶段不同:测试贯穿整个软件开发生命周期;调试一般在开发阶段。

二. 什么是软件测试

软件测试就是执行和运行软件的过程,其目的是为了发现软件功能和需求不符合的地方,或者寻找实际输出和预期输出之间的差异。

三. 软件测试和软件开发的区别

1. 研发主要以编码为主,而测试以测试为主,开发为辅


2. 难易程度: 开发广度小,专业度高。测试广度大,专业度低


3. 薪水: 中小企业总体比研发低,自动化等专业测试领域和研发基本无差距。大厂研发测试基本无差别


4. 繁忙程度: 测试一般比研发轻松,但敏捷模式下差距不大,产品发布前压力比较大


5. 技能要求:测试要求更广泛,业务能力、设计和架构分析能力,测试手段和工具使用,用户模型分析和理解,编程能力

四. 软件的生命周期

软件的生命周期分为六个阶段:需求分析阶段,计划阶段,设计阶段,编码阶段,测试阶段,运行维护阶段

• 需求分析:分析用户是否合理(市场分析、技术上分析...)


• 计划:制定需求执行计划


• 设计:将需求细化成一个个任务,进行技术设计(设计哪些接口,采用哪些技术)


• 编码:开发人员按照需求文档以及设计文档来进行编码


• 测试:测试人员参考测试用例来执行测试


• 运行维护:项目上线之后对产品进行线上维护(修复性维护:对项目中未发现的问题进行修复;完善性维护:对功能进行完善;预防性维护:为了避免产品在线上出现一些其他的问题,进行一些预防的手段。

五. 什么是 BUG

当且仅当规格说明是存在的并且正确,程序与规格说明之间的不匹配才是错误。当需求规格说明书没有提到的功能,判断标准以最终用户为准:当程序没有实现其最终用户合理预期的功能和要求时,就是软件错误。

六. 什么是需求

需求就是满足用户期望或正式规定文档(合同、标准、规范)所具有的条件和全能,包含用户需求和软甲需求。

七. 软件测试的生命周期

需求分析 -> 测试计划 -> 测试设计、测试开发 -> 测试执行 -> 测试评估

八. 软件缺陷生命周期

New: 新发现的Bug,未经评审决定是否指派给开发人员进行修改。


Open:确认是Bug ,并且认为需要进行修改,指派给相应的开发人员。


Fixed:开发人员进行修改后表示成修改状态,有待测试人员的回归测试验证。


Rejected:如果认为不是Bug,则拒绝修改。


Delay: 如果认为暂时不需要修改或者暂时不能修改,则延后修改。


Closed:修改状态的Bug经测试人员回归测试后验证通过,则关闭Bug。


Reoppen:如果经验证Bug仍然存在,则需要重新打开Bug,开发人员重新修改。

九.  测试模型

9.1 V模型

特点: 左边是开发,右边是测试

优点: 测试被划分为许多类型

缺点: 测试人员介入晚,发现问题的时机晚,修复起来的成本高

9.2  W模型

特点: 开发一个V,测试一个V

优点: 测试人员尽早介入了需求

缺点: 测试人员和开发人员在一定程度上还是串行的,不能拥抱变化

相关文章
|
7月前
|
Java 测试技术 Maven
JAVA单元测试概念与实战
单元测试是软件开发中的一个测试方法,用于验证软件代码中最小的、独立的单元是否按照预期工作。在Java中,这通常指的是单个的方法或者一个类的个别功能。单元测试的目的是隔离代码的每个部分,并确保各个部分是正确的。
118 4
|
7月前
|
jenkins 测试技术 持续交付
软件测试:基础概念
软件测试:基础概念
129 0
|
7月前
|
测试技术 UED
软件测试/测试开发|软件测试基础概念
软件测试/测试开发|软件测试基础概念
|
2月前
|
消息中间件 分布式计算 大数据
大数据-123 - Flink 并行度 相关概念 全局、作业、算子、Slot并行度 Flink并行度设置与测试
大数据-123 - Flink 并行度 相关概念 全局、作业、算子、Slot并行度 Flink并行度设置与测试
149 0
|
5月前
|
测试技术 API 数据库
性能测试概念
**性能测试评估系统在负载下的表现,关注响应时间、吞吐量、并发用户数和资源利用率。关键指标包括RT、HPS、TPS、QPS、RPS等。并发数可由QPS和平均响应时间计算。提升压力的技术手段涉及多进程、多线程,各有优劣。P90、P95、P99等分位数用于描述数据分布,揭示不同负载场景下的系统性能。**
|
2月前
|
测试技术 网络安全
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别? 一位优秀的测试人员应该具备哪些素质? 软件测试等相关概念入门篇
文章全面介绍了软件测试的基本概念、目的、岗位分类、与开发和调试的区别,并阐述了成为优秀测试人员应具备的素质和技能。
267 1
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别? 一位优秀的测试人员应该具备哪些素质? 软件测试等相关概念入门篇
|
2月前
|
分布式计算 Hadoop Unix
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
51 1
|
2月前
|
前端开发 测试技术 程序员
在工作中会涉及到的几个环境(概念补充) 办公环境、开发环境、测试环境、线下环境、线上环境/生产环境都是什么,他们之间的关系?
本文解释了在职场中可能会接触到的不同环境,包括办公环境、开发环境、测试环境和生产环境(线上环境),以及它们之间的关系和重要性。
99 1
|
4月前
|
Kubernetes 监控 Java
发布策略:蓝绿部署、金丝雀发布(灰度发布)、AB测试、滚动发布、红黑部署的概念与区别
发布策略:蓝绿部署、金丝雀发布(灰度发布)、AB测试、滚动发布、红黑部署的概念与区别
602 0
|
7月前
|
测试技术 开发者
【专栏】测试驱动开发(TDD)和行为驱动开发(BDD)的核心概念与实践
【4月更文挑战第27天】本文探讨了测试驱动开发(TDD)和行为驱动开发(BDD)的核心概念与实践。TDD强调先写测试用例,通过测试推动设计,确保代码质量与可维护性。BDD侧重软件行为和业务价值,提倡使用通用语言描述行为,减少沟通障碍。选择TDD或BDD取决于项目复杂性、团队技能和业务需求。理解两者差异有助于团队做出合适的选择,发挥测试的最大价值。
181 3
下一篇
DataWorks