精简总结:一文说明软件测试基础概念(二)

简介: 本文讲述了软件测试人员应具备的素质,包括技能和非技能方面。技能涵盖测试用例设计、编程、快速学习新技术以及业务学习能力。

精简总结:一文说明软件测试基础概念(一) +https://developer.aliyun.com/article/1520536?spm=a2c6h.13148508.setting.14.75194f0e103RAF


六、优秀的软件测试人员具备的素质


1、技能


测试用例设计能力

编程能力

编写测试工具、自动化测试用例技术快速学习的能力

业务快速学习能力

2、非技能


沟通、合作(一个项目是一堆人写的)

文字表达能力 (测试用例文字写出来的,编写测试文档,BUG)

抗压能力

责任感


七、软件测试岗位


软件测试工程师:工程师的主要工作一般包含需求分析、编写测试计划和测试方案、设计测试用例、执行测试用例、跟踪BUG、编写测试报告等。

测试开发工程师:根据项目的特点来开发一些自动化测试的脚本,或自动化测试的工具,或者是软件测试工作中用到的提高工作效率的小工具什么的,从而能够更有效地进行测试,提高软件产品的质量。 测试开发工程师工作的目的就是为了更高效,更快捷地让测试工程师进行测试工作;测试开发岗位一般要求一定的开发能力,解决问题的能力尤为重要。

性能测试工程师:针对系统进行性能测试,包括使用工具和编写性能自动化测试脚本。

安全测试工程师:主要分析产品可能会出现的安全问题,做各个方面的渗透测试,提高产品的安全性。

其它:系统测试工程师,嵌入式测试工程师,硬件测试工程师。


八、什么是需求


1、概念


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


a.用户需求


可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务。该需求一般比较简略。


b.软件需求


也叫功能需求,该需求会详细描述开发人员必须实现的软件功能。 用户需求就是一句话,而软件需求是一个文档(详细描述用户需求如何实现)。日常工作中通常是用软件需求进行开发测试。


大多数公司在进行软件开发的时候,会把用户需求转化为软件需求(这就是PM产品经理要做的事情)。开发人员和测试人员工作的直接依据就是软件需求。


2、从软件测试人员角度看需求


软件需求是测试人员进行测试工作的基本依据。 在具体设计测试用例的时候,首先需要搞清楚每一个业务需求对应的多少个软件功能需求点,然后分析出每个软件功能需求点对应的多少个测试需求点,然后针对每个测试需求点设计测试用例。


过程:业务需求—>软件功能需求点—>测试需求点—>测试用例


以用户登录为例来阐述依据需求设计测试用例的过程。其中,测试需求点的识别要从多个角度进行,常见的有功能、兼容、性能、安全等。



3、为什么需求对软件测试人员如此重要?


从软件功能需求出发,无遗漏的识别出测试需求是至关重要的,因为这将直接关系到用例的测试覆盖率。


对于识别出的每个测试需求点,需要采用具体的设计测试用例的方法来进行测试用例的设计。


4、如何深入理解被测试软件的需求?


测试工程师在需求分析和设计阶段就开始介入。只有测试人员真正理解原始业务需求,才能从业务需求的角度去设计针对性明确、覆盖率较高的测试用例集。测试人员了解业务需求的方式有:


参加需求评审会议。

查阅文档(需求文档,技术文档)。

找产品经理了解软件功能,找开发人员了解软件的实现。


九、测试用例 Test Case


1、概念


测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合(注意是一个集合,而不是指某个具体的样例)。这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。


2、测试用例解决了两大问题


测试过程中可能会遇到以下问题: 不知道是否全面测试了所有功能、测试的覆盖率无法衡量、对新版本的重复测试很难实施、存在大量冗余测试影响测试效率……


测试用例就是来解决这些问题的。概括来说,测试用例case解决了两大问题:


  1. 测什么


  1. 怎么测


测试用例提高测试人员工作效率,解决了测试人员工作的重复性问题。并且,测试用例也是建立自动化(让代码代替人员执行测试)的基础。


3、测试用例的例子


a、对注册功能的测试用例记录



b、对在线OJ平台的判题功能的测试用例记录



c、对qq的登录功能的测试用例记录。



十、软件错误(BUG


1、概念


当且仅当规格说明是存在的并且正确时,程序与规格说明之间的不匹配才是错误。(程序与规格说明之间不匹配这样的说法是片面的。


  • 规格说明:软件需求,规格说明书。



一个需求规格说明书的示例


程序与规格说明不匹配:即执行结果不等于预期结果。


当涉及到需求规格说明书没有提到的功能时,判断标准以最终用户为准:当程序没有实现其最终用户合理预期的功能要求时,就是软件错误。


十一、软件生命周期


指的是从软件产品的设想开始到软件不再使用而结束的时间。


分为6个阶段:需求分析->计划->设计->编码->测试->运行维护


1、需求分析:分析需求是否合理,需求是否完整。


2、计划:谁开发,谁测试,开发多久,测试多久……


3、设计:制定方案。


4、编码:写代码。


5、测试:形成测试报告。



一个测试报告的样例


6、运行维护:如果有线上问题,此时测试人员需要协助开发定位问题+解决问题。

相关文章
|
7月前
|
Java 测试技术 Maven
JAVA单元测试概念与实战
单元测试是软件开发中的一个测试方法,用于验证软件代码中最小的、独立的单元是否按照预期工作。在Java中,这通常指的是单个的方法或者一个类的个别功能。单元测试的目的是隔离代码的每个部分,并确保各个部分是正确的。
118 4
|
7月前
|
jenkins 测试技术 持续交付
软件测试:基础概念
软件测试:基础概念
127 0
|
7月前
|
测试技术 UED
软件测试/测试开发|软件测试基础概念
软件测试/测试开发|软件测试基础概念
|
2月前
|
消息中间件 分布式计算 大数据
大数据-123 - Flink 并行度 相关概念 全局、作业、算子、Slot并行度 Flink并行度设置与测试
大数据-123 - Flink 并行度 相关概念 全局、作业、算子、Slot并行度 Flink并行度设置与测试
143 0
|
5月前
|
测试技术 API 数据库
性能测试概念
**性能测试评估系统在负载下的表现,关注响应时间、吞吐量、并发用户数和资源利用率。关键指标包括RT、HPS、TPS、QPS、RPS等。并发数可由QPS和平均响应时间计算。提升压力的技术手段涉及多进程、多线程,各有优劣。P90、P95、P99等分位数用于描述数据分布,揭示不同负载场景下的系统性能。**
|
2月前
|
测试技术 网络安全
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别? 一位优秀的测试人员应该具备哪些素质? 软件测试等相关概念入门篇
文章全面介绍了软件测试的基本概念、目的、岗位分类、与开发和调试的区别,并阐述了成为优秀测试人员应具备的素质和技能。
255 1
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别? 一位优秀的测试人员应该具备哪些素质? 软件测试等相关概念入门篇
|
2月前
|
分布式计算 Hadoop Unix
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
46 1
|
2月前
|
前端开发 测试技术 程序员
在工作中会涉及到的几个环境(概念补充) 办公环境、开发环境、测试环境、线下环境、线上环境/生产环境都是什么,他们之间的关系?
本文解释了在职场中可能会接触到的不同环境,包括办公环境、开发环境、测试环境和生产环境(线上环境),以及它们之间的关系和重要性。
92 1
|
4月前
|
Kubernetes 监控 Java
发布策略:蓝绿部署、金丝雀发布(灰度发布)、AB测试、滚动发布、红黑部署的概念与区别
发布策略:蓝绿部署、金丝雀发布(灰度发布)、AB测试、滚动发布、红黑部署的概念与区别
555 0
|
7月前
|
测试技术
软件测试概念与基础
软件测试概念与基础