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

玩技站长
玩技站长
玩技站长
管理员, Keymaster
10856
文章
669
评论
测试分享评论172字数 1263阅读4分12秒阅读模式

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

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

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

简单来说,软件测试就是使用各种测试技术和方法来测试和发现软件中存在的软件缺陷,也就是我们耳熟能详的BUG。这就是软件测试的目的。文章源自玩技e族-https://www.playezu.com/168077.html

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

到底什么是软件测试?测试和测试开发又有什么区别?插图1

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

软件测试是一个整体性的工作。从项目到手,到测试结果出来和调试,都需要多个层面的技术逐步递进。我们先来看下完整的软件测试流程:文章源自玩技e族-https://www.playezu.com/168077.html

项目需求分析 > 制定测试计划 > 设计测试文档 > 搭建测试环境 > 执行测试过程 > 缺陷管理文章源自玩技e族-https://www.playezu.com/168077.html

接下来,我们再细化了解下软件测试的每个不同阶段,对应的具体工作内容!文章源自玩技e族-https://www.playezu.com/168077.html

1、项目需求分析阶段:

项目需求是整个测试过程中的前置条件,也是任何一个测试工作开始前的第一步。所谓的项目需求分析是指测试员分析和确定被测试的项目的测试工作安排。也就是该项目我们需要测哪些模块,什么样的结果是符合产品需求的预期结果。文章源自玩技e族-https://www.playezu.com/168077.html

2、制定测试计划阶段:

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

3、设计测试文档阶段:

这个阶段是整个软件测试的基础也是核心阶段。这个阶段的主要工作是编写测试用例、参考项目的设计原型图、产品的设计需求和详细设计标准等。而测试用例的意思就是用来进行模拟测试比对结果的数据。后续我们会将测试得出的结果进行评审。文章源自玩技e族-https://www.playezu.com/168077.html

4、搭建测试环境阶段:

不同的产品对测试环境有着不同的要求。能做好软件测试工程师这门工作的一个指标就是能独立搭建项目的测试环境。例如App的测试环境,需要会使用Appium+Python,掌握如何使用Adb以及手势模拟等。Web自动化测试需要掌握Python+Selenium环境搭建。文章源自玩技e族-https://www.playezu.com/168077.html

5、执行测试阶段:

这个阶段就是开始正式的测试工作了。一般向单元测试、集成测试、系统测试、验收测试以及回归测试等等。每个阶段对应了不同的测试具体执行细节。文章源自玩技e族-https://www.playezu.com/168077.html

6、缺陷管理:

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

到底什么是软件测试?测试和测试开发又有什么区别?插图2

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

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

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

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

举报/反馈
 
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证