软件测试到底是干什么的?软件测试和测试开发又有什么区别?

Posted 测试萌萌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试到底是干什么的?软件测试和测试开发又有什么区别?相关的知识,希望对你有一定的参考价值。

到底什么是软件测试?软件测试又是做什么的?软件测试和软件测试开发又有什么区别呢?今天测试猿课堂就为大家解答一下软件测试的概念。

首先,到底什么是软件测试?

简单来说,软件测试就是使用各种测试技术和方法来测试和发现软件中存在的软件缺陷,也就是我们耳熟能详的BUG。这就是软件测试的目的。

软件测试技术人员通过一系列的测试技术(黑盒测试、白盒测试、灰盒测试等等)找寻BUG的过程,就是软件测试的具体工作内容。其中黑盒测试技术主要有等价类划分法、边界值法、因果图法、状态图法、测试大纲法以及各类典型的软件故障模型等;白盒测试的主要技术有语句覆盖、分支覆盖、判定覆盖、基本路径覆盖等。

软件测试的具体工作流程是什么?

软件测试是一个整体性的工作。从项目到手,到测试结果出来和调试,都需要多个层面的技术逐步递进。我们先来看下完整的软件测试流程:

项目需求分析 > 制定测试计划 > 设计测试文档 > 搭建测试环境 > 执行测试过程 > 缺陷管理

接下来,我们再细化了解下软件测试的每个不同阶段,对应的具体工作内容!

1、项目需求分析阶段:

项目需求是整个测试过程中的前置条件,也是任何一个测试工作开始前的第一步。所谓的项目需求分析是指测试员分析和确定被测试的项目的测试工作安排。也就是该项目我们需要测哪些模块,什么样的结果是符合产品需求的预期结果。

2、制定测试计划阶段:

测试计划制定阶段其实主要的任务就是编写完整的测试流程安排,测试哪些模块,用什么方法测试,比如常见的冒烟测试、随机测试、黑盒测试、性能测试等等。以及不同测试阶段的测试人员工作安排、工作目标等等。这个阶段对测试主管的整体测试调控能力有很高的要求。

3、设计测试文档阶段:

这个阶段是整个软件测试的基础也是核心阶段。这个阶段的主要工作是编写测试用例、参考项目的设计原型图、产品的设计需求和详细设计标准等。而测试用例的意思就是用来进行模拟测试比对结果的数据。后续我们会将测试得出的结果进行评审。

4、搭建测试环境阶段:

不同的产品对测试环境有着不同的要求。能做好软件测试工程师这门工作的一个指标就是能独立搭建项目的测试环境。例如App的测试环境,需要会使用Appium+Python,掌握如何使用Adb以及手势模拟等。Web自动化测试需要掌握Python+Selenium环境搭建。

5、执行测试阶段:

这个阶段就是开始正式的测试工作了。一般向单元测试、集成测试、系统测试、验收测试以及回归测试等等。每个阶段对应了不同的测试具体执行细节。

6、缺陷管理


缺陷管理主要是用于收集、管理和沟通项目缺陷的过程,重点考察的是缺陷的识别和缺陷的解决。这个阶段一般会用到一些系统化的缺陷管理工具,类似于禅道、Test Director、Bugfree等。

软件测试和软件测试开发有什么区别?

软件测试的工作内容,我们通过上面的解读已经大致有了了解。那么软件测试开发又是做什么的呢?

其实测试开发可以理解为一类将软件测试和软件开发技术合为一体的全能型技术人才。想要从事测试开发,首先就需要具备多项计算机编程语言能力,像Python、Java、C++等等,并且能独立开发完成一些软件的功能拓展和迭代,并且清晰软件的整个开发生命周期。

为什么测试开发人员在市面上很吃香?就是因为他们既懂开发,又懂测试。这样的全能型人才,能够很好的把握软件测试各个方面的环节,更懂得如何提升软件测试的效率和测试需求中心点。能大幅度降低测试人员和开发人员之间不必要的无效沟通和对接,也能更全面的保障公司产品的不间断性运行!


资源分享

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走…

​这些资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….

以上是关于软件测试到底是干什么的?软件测试和测试开发又有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章

什么是软件测试?和软件开发又有什么区别?

什么是软件测试?和软件开发又有什么区别?

什么是软件测试?和软件开发又有什么区别?

软件测试该学些什么技能?职业选择方向又有哪些

到底该不该从开发转测试

Java 后端到底是在做啥?