随着人工智能时代的到来,IT行业受到了越来越多人的重视。软件测试作为把控软件质量必不可少的环节,其重要性可见一斑。

那么从事软件测试行业究竟有前途吗?今天我们就来详细的介绍一下软件测试,看看软件测试这份工作到底怎么样?

首先我们需要了解一下什么是软件测试?软件测试是做什么的?

软件测试是伴随着软件的产生而产生的。早期的软件开发过程中软件规模都很小、复杂程度低,软件开发的过程混乱无序、相当随意,测试的含义比较狭窄,开发人员将测试等同于“调试”,目的是纠正软件中已经知道的故障,常常由开发人员自己完成这部分的工作。

早期企业对测试的投入极少,测试介入也晚,常常是等到形成代码,产品已经基本完成时才进行测试。到了上世纪80年代初期,软件和IT行业进入了大发展,软件趋向大型化、高复杂度,软件的质量越来越重要。

这个时候,一些软件测试的基础理论和实用技术开始形成,并且人们开始为软件开发设计了各种流程和管理方法,软件开发的方式也逐渐由混乱无序的开发过程过渡到结构化的开发过程,以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试为特征。

软件测试主要工作内容是验证(verification)和确认( validation ),下面分别给出其概念:

验证(verification)是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。(Do the right thing)

1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程

2.程序正确性的形式证明,即采用形式理论证明程序符号设一计规约规定的过程

3.评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。

确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Do it right)

接着我们再来看看软件测试需要怎么做,软件测试的过程分为哪些阶段呢?

软件测试和开发过程相对应, 软件测试一般分为4个阶段:单元测试、集成测试、系统测试、验收测试。

一、单元测试

单元测试:单元测试是针对软件设计的最小单位–程序模块甚至代码段进行正确性检验的测试工作,通常由开发人员进行。

对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。

总的来说,单元测试是对软件中的最小可验证单元进行检查和验证。

测试原则:

1、尽可能保证测试用例相互独立(测试用例中不能直接调用其他类的方法,而应在测试用例中重写模拟方法);

2、此阶段一般由软件的开发人员来实施,用以检验所开发的代码功能符合自己的设计要求。

单元测试的好处:

1、尽早的发现缺陷;

2、利于重构;

3、简化集成;

4、文档;

5、用于设计。

单元测试的不足:

1、不可能覆盖所有的执行路径,所以不可能保证捕捉到所有路径的错误;

2、每行代码需要3~5行代码进行单元测试,存在投入与产出的平衡。

二、集成测试

集成测试是在单元测试的基础上,把软件单元按照软件概要设计规格说明的规格要求,组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求。

集成测试包括BigBang、自顶向下、自底向上、核心系统集成、高频集成。

三、系统测试

系统测试:系统测试是在集成测试通过后进行的,目的是充分运行系统,验证各子系统是否都能正常工作并完成设计的要求。它主要由测试部门进行,是测试部门最大最重要的一个测试,对产品的质量有重大的影响。

集成测试和系统测试之间的比较:

1、测试内容:集成测试是测试各个单元模块之间的接口,系统测试是测试整个系统的功能和性能;

2、测试角度:集成测试偏重于技术的角度进行测试,系统测试是偏重于业务的角度进行测试。

四、验收测试

验收测试也称交付测试,以需求阶段的《需求规格说明书》为验收标准,测试时要求模拟实际用户的运行环境。是针对用户需求、业务流程进行的正式的测试,以确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。

验收测试包括alpha测试和beta测试,alpha测试是由开发者进行的软件测试,beta测试是由用户在脱离开发环境下进行的软件测试。

测试不难,花点时间弄懂其中之一的一点点就能很好的工作,要弄懂两者怎么结合,怎么深入,怎么更好的服务工作,提高产品质量就是另一个层面了。

文章来源:网络 版权归原作者所有

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系小编,我们将立即处理

什么是软件测试?这份工作到底怎么样?相关推荐

  1. 我们工作到底为了什么(坚持全篇看完你将受益匪浅)(转)

    HP大中华区总裁孙振耀退休感言 如果这篇文章分享给你了,你却没有读,继续走弯路的你不要怪我. 如果你看了这篇文章,只读了一半你就说没时间了,说明你已经是个"茫"人了. 如果你看完了 ...

  2. 我们工作到底为了什么?

    我们工作到底为了什么? HP大中华区总裁孙振耀退休感言 如果这篇文章没有分享给你,那是我的错. 如果这篇文章分享给你了,你却没有读,继续走弯路的你不要怪我. 如果你看了这篇文章,只读了一半你就说没时间 ...

  3. 正在迷茫的你,为什么不考虑这份工作呢?

    迷茫.没有方向怎么办?基本上这是大多数人的通病,尤其是年轻人.纠结和迷茫,原因是什么呢?含蓄点说是你的能力支撑不起你的野心,粗暴点说就是你的知识和信息储备量不足!遇到这种情况,最好的解决办法就是跳出你 ...

  4. 一个软件测试员的工作与学习(二)

    本来计划这篇续写的经历在第二份工作离职的时候去写,从2012年的4月份再次入职到现在貌似有不少东西可以写写了.临近春节,加上各种琐事已也不能把注意力特别集中的去学一些东西,索性,整理一下从第二份工作到 ...

  5. 毕业3年,我换了4份工作:好工作,是这样“熬”出来的

    前段时间,微博上有一则关 于 #频繁换工作的人后来都怎样了# 的热搜,人们对于频繁换工作,缺乏稳定性,是不是会给自身职业发展带来负面影响引发了讨论. 一部分网友认为,频繁跳槽换工作不仅对自身的职业发展 ...

  6. 干同一份工作,工资为什么比同事低很多?

    蓝色关注,回复"1"获取知名公司程序员和产品经理职级 这是我的第「98」篇原创文章 见字如面,我是军哥. 从业多年,做过多年的一线员工,也做过10多年的技术管理,干同一份工作,薪资 ...

  7. 我学历低,学软件测试能找到工作吗?

    "我学历低,学软件测试能找到工作吗?""我30岁了,还能学会软件测试吗?""我是女生,软件测试学起来难么?"每天千锋都会遇到很多这类似的问题 ...

  8. 我们工作到底为了什么(HP大中华区总裁孙振耀退休感言 )

    HP大中华区总裁孙振耀退休感言 如果这篇文章没有分享给你,那是我的错. 如果这篇文章分享给你了,你却没有读,继续走弯路的你不要怪我. 如果你看了这篇文章,只读了一半你就说没时间了,说明你已经是个&qu ...

  9. 自学软件测试需要多久?怎么自学软件测试?自学软件测试可以找到工作吗?--请看我是怎么走过来的!绝对干货!

    一.前言 最近经常有很多朋友问我想要入行软件测试,但是都不知道该怎么学. 这里详细的给大家说下,对于0基础的朋友,应该怎么去学习软件测试. 学习软件测试有2条路可以选: 1.找个靠谱的培训机构去培训啦 ...

最新文章

  1. 电脑退出全屏按哪个键_电脑键盘上的F1到F12,每一个都是快捷键大家都会用到...
  2. FFmpeg命令行map参数选择音视频流
  3. 【收藏】ABAP Bom按层展开的几种实现方法
  4. centos nginx重启_nginx学习笔记
  5. d3.js 简介和安装
  6. 治疗拖延症晚期患者的三张处方
  7. Springmvc提供的传递数据的方式
  8. Flutter进阶—质感设计之弹出菜单
  9. SQL Server中,varchar和nvarchar如何选择
  10. Java WEB之过滤器
  11. android项目中导入actionbarsherlock 需要注意的地方
  12. Oracle P6 配置SQLServer数据库报FileStream错误
  13. 使用IK中文分词器做敏感词过滤
  14. 在Jmeter中添加的JSR223 Sampler后,目前网上资源只有python2.7的jar包,是否有哪位仁兄,有支持python3的jar包,请支持一次。
  15. 紫铜带、黄铜带、锡磷青铜带、白铜带的特性
  16. Java高级工程师面试题目汇集
  17. python字符串与文本处理教程
  18. [ORACLE]数据字典视图大全
  19. 一百种语言的LOVE
  20. Python 使用第三方 SMTP 服务发送邮件(qq邮箱)

热门文章

  1. vue 3D轮播展示 --vue-carousel-3d
  2. docker是干什么的,docker常用命令每日一练
  3. Phong与Blinn-Phong
  4. 心态好的人,都有这5种生活方式
  5. java开发工作地池州_安徽8个地级市,池州排第八前途不可限量
  6. HDU 1512 Monkey King(左偏树+并查集)
  7. 利用openssl进行aes加解密
  8. qsort函数用法 + 模拟实现qsort函数
  9. 2022网络安全学习路线 非常详细 推荐学习
  10. javax.servlet.ServletException: java.lang.NoSuchMethodError 解决方法解决办法