什么是软件测试_软件测试是做什么的

1周前 (03-23 21:20)阅读3回复0
xietoutiao
xietoutiao
  • 管理员
  • 注册排名1
  • 经验值1577345
  • 级别管理员
  • 主题315469
  • 回复0
楼主

什么是软件测试

软件测试是伴随着软件的产生而产生的。早期的软件开发过程中软件规模都很小、复杂程度低,软件开发的过程混乱无序、相当随意,测试的含义比较狭窄,开发人员将测试等同于“调试”,目的是纠正软件中已经知道的故障,常常由开发人员自己完成这部分的工作。对测试的投入极少,测试介入也晚,常常是等到形成代码,产品已经基本完成时才进行测试。到了上世纪80年代初期,软件和IT行业进入了大发展,软件趋向大型化、高复杂度,软件的质量越来越重要。这个时候,一些软件测试的基础理论和实用技术开始形成,并且人们开始为软件开发设计了各种流程和管理方法,软件开发的方式也逐渐由混乱无序的开发过程过渡到结构化的开发过程,以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试为特征。人们还将“质量”的概念融入其中,软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且将测试作为软件质量保证(SQA)的主要职能,包含软件质量评价的内容,Bill Hetzel在《软件测试完全指南》(Complete Guide of Software Testing)一书中指出:“测试是以评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度量。”这个定义至今仍被引用。软件开发人员和测试人员开始坐在一起探讨软件工程和测试问题。

软件测试已有了行业标准(IEEE/ANSI ),1983年IEEE提出的软件工程术语中给软件测试下的定义是:“使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别”。这个定义明确指出:软件测试的目的是为了检验软件系统是否满足需求。它再也不是一个一次性的,而且只是开发后期的活动,而是与整个开发流程融合成一体。软件测试已成为一个专业,需要运用专门的方法和手段,需要专门人才和专家来承担。


什么是软件测试_软件测试是做什么的

软件思想家 Gerald Weinberg 曾说过,“如果建筑师按照程序员编写程序的方式建造建筑物,那么飞来的第一只啄木鸟就会摧毁整个文明”。
这句话告诉我们:第一,程序员编写的程序不是很靠谱;第二,软件测试是多么的重要。
以前,软件行业没有软件测试的位置。
后来,随着这个行业的发展,软件复杂度不断提升,分工越来越细,测试与开发相分离,软件测试逐渐成为独立岗位,企业也开始招聘软件测试工程师。
当今,谈起软件测试,很多人都有一些印象,比如觉得测试“入门门槛低,没啥技术含量”、“对公司来说不重要”、“操作简单,工作枯燥”等等。虽然这些印象不一定完全准确,但或多或少反映了这个行业存在的一些情况。
当下,以 Google 为代表的互联网巨头公司正逐渐推行“去 QE,开发自己测试”的全新模式。
据飞算云智副董事长、总裁陈定玮解释,“以前,软件主要是功能的实现,其环境不是很复杂,既不会有很大的高并发,也不用玩转大量数据。因此,只要满足功能需求就行。”
而互联网模式在于,互联网发展起来后,软件变得越来越重要,甚至软件定义一切。并且,越来越多的软件开始向 C 端拓展,它要面对大量用户,导致容易出现高并发、安全等问题。因此,企业对软件质量的要求就变得非常高。
这就倒逼软件要改变,并且,从开发、测试到运维都应有相应的变化。然而,事实上,这一切并没有发生很大变化。
一方面,自动化测试得到越来越多的重视,企业对测试人员的要求已经从低端的功能性测试转变为更高级的自动化测试。另一方面,非功能性测试的需求不断增加,包括性能测试、安全测试等。此外,软件行业盛行的 DevOps 理念强调整个开发、测试和运维的连贯性。
能解决上述问题的工具可能就是全自动测试平台。据了解,它是飞算 SoFlu 全自动软件工程平台的一个组成部分,飞算 SoFlu 全自动软件工程平台是于 2020 年发布的新一代 JAVA 开发工具,截至目前已为包括医疗、金融、制造、零售等在内的八大行业的上百家机构提供了技术服务,被数千位专业人士使用体验。
与全自动开发平台和全自动运维平台共同组成飞算 SoFlu 全自动软件工程平台,实现了软件工程开发、测试、运维全流程自动化,且自动测试平台随开发平台联动,开发测试一键关联,自动生成测试用例完成软件测试,1 人就即可完成开发、测试整套流程。

软件测试是做什么的

软件测试是互联网行业中比较容易入行的职业,具体从事的工作内容,从一个项目(需求)从开始到上线简单说一下吧。

1.需求评审

产品同学给你测试同学一个新的项目需求,你测试同学就需要阅读并理解需求,分析测试点,分析需求可行性,分析需求是否有设计漏洞。然后和产品、开发一起开会评审需求,产品负责讲解需求,测试和开发提出疑问点。

2.用例编写

需求评审结束后,测试人员对需求已经足够熟悉,所以这时候语言进行测试用例设计,为后面的测试做好准备工作。

3.用例评审

既然测试同学可以评审产品同学的需求,产品同学一样可以评审测试同学的测试用例,提出疑问,达到意见一致。当然,这次评审的主角是测试讲解测试方案,开发和产品提出疑问。

4.测试

经过上面的准备,开发同学已经完成了需求开发,开发同学完成自测后,提交给测试人员。测试人员根据测试用例,测试这个程序。发现问题后要提交bug ,开发修改完成后,验证测试bug修复情况。完成测试后给出测试报告,然后提交给产品体验。

5.需求上线

测试人员负责需求上线前的验证工作,和上线后的跟踪阶段

初级软件测试人员具体就是这些工作,高级软件测试人员,工作内容则有一些不同,需要做一些专项测试和自动化测试、性能测试、安全测试等等工作。以上就是软件测试人员的工作内容了,如果想要了解更多,可以关注我,私信给我。

软件测试入行门槛低、薪资高、工作压力小,是很多不想做软件开发的小伙伴们向往的IT行业,也是很多0基础小白转行IT行业的首选。那么软件测试到底是做什么的呢?我们今天就来了解一下。

软件测试就是软件程序的“质检员”,主要是针对开发人员提交的软件进行测试,通过人工或自动手段来模拟用户使用场景,从而发现软件存在的缺陷(bug),并将缺陷提交给开发人员优化修改。如果说,软件开发的核心工作是尽量实现软件用户的需求,那么,软件测试的核心工作就是检验软件系统是否满足了软件用户的需求。

软件测试的工作内容主要包含了设计测试计划、设计测试用例、执行测试、进行测试总结等。说白了,软件测试人员的具体工作有:

1 、测试人员需要通过白盒测试、黑盒测试、等价类划分法、边界值方法等手段来发现软件中存在的软件缺陷。

2 、测试工作需要贯穿整个软件开发生命周期,在软件项目的每一个阶段,测试人员都要进行不同目的和内容的测试活动,以保证各个阶段的正确性。

3 、测试人员需要将发现的缺陷编写成正式的缺陷报告,提交给开发人员进行缺陷的确认和修复。

4 、测试人员需要分析并评估软件质量。

5 、测试过程中,为了更好地组织与实施测试工作,测试负责人需要制定测试计划,包括有测试资源、测试进度、测试策略、测试方法、测试工具、测试风险等。

6 、测试人员为了更好更有效地进行测试,保证测试工作质量,需要在执行测试工作之前首先需要设计测试用例,形成测试用例报告。

7 、为了提高工作效率或提高测试水平,测试工作需要引进自动化测试工具,测试人员需要学会使用自动化测试工具,编写测试脚本,进行性能测试等。

8 、测试负责人在测试工作中,还需要根据实际情况不断改进测试过程,提高测试水平,进行测试队伍的建设等。

以上就是软件测试人员的主要职责和工作内容,不难看出,软件测试人员的职责和任务是比较重大的。

0
回帖

什么是软件测试_软件测试是做什么的 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息