测试初体验—来自测试小白的自述

本人是一个2021年应届毕业生,大三的时候去某家大厂实习过三个月的开发,那三个月自己仿佛老了10岁,天天跟代码打交道,作为一个自由主义者实在是有些熬不住,但是不想抛弃大学所学专业知识,再者因为计算机工资普遍偏高,所以毕业后转行软件测试,本想着能够轻松一些,但是来了一个月后我发现测试并不是那么简单,测试前景也并不是我当初所认为的那么差,做好测试照样可以在互联网行业混的风生水起,在这里我将要记录我平时的测试心得,同时记录着一个测试大牛的崛起之路。

什么是测试?什么又是软件测试?

在百度百科上,测试是这样解释的:测试是具有试验性质的测量,即测量和试验的综合
所谓的软件测试其实理解起来也不难,同样在百度百科上对于软件测试是这样定义的,软件测试:用来描述一种促进鉴定软件的正确性、完整性、安全性和质量的过程。 换句话来说,软件测试就是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

软件测试是干什么的?

1、制定、编写软件测试方案与计划;
2、按时完成软件测试工作任务,执行测试,跟踪缺陷状态,提交测试执行报告;
3、编写测试文档、测试报告,提交测试结果;
4、测试环境的设计、设置,完善测试规范流程、创建和维护测试用例;
5、改进软件测试流程、工具和质量;
6、参与测试结果评审。

软件测试的工作流程?

首先项目组立项,测试人员需要熟悉项目的业务,了解测试需求,分析需求点,随后编写整个测试计划,在这个过程中需要参考需求规格说明书,这个阶段一般情况下是测试主管编写。包括了测试人员,测试时间,测试工具,测试方法等。随后是测试用例的编写与执行,测试用例是测试工作中的最核心的模块,在执行任何测试之前,首先必须完成测试用例的编写。测试用例是指导你执行测试,帮助证明软件功能或发现软件缺陷的一种说明.用例设计好之后,会进行评审。随后执行你所写的用例,需要搭建环境,准备好测试数据,进行预测,预测通过后,按照测试用例进入正式测试。后续进行缺陷管理,缺陷一定要处理,不能提了Bug就当甩手掌柜,后续必须跟进,进行回归测试,最后编写测试报告,对整个测试的过程和版本的质量做一个评估。

软件测试的方法?

软件测试的方法种类繁多,记忆起来非常混乱 但是如果把这些软件测试方法进行分类, 就会清晰很多,我参考一些书籍和网上的资料, 把常用的软件测试方法列出来, 让大家对软件测试行业有个总体的看法。

按测试设计方法分类:

测试方法 测试内容
黑盒测试 把软件系统当作一个“黑箱”,无法了解或使用系统的内部结构及知识。从软件的行为,而不是内部结构出发来设计测试
白盒测试 设计者可以看到软件系统的内部结构,并且使用软件的内部知识来指导测试数据及方法的选择
灰盒测试 介于黑盒和白盒之间

常用的黑盒测试方法有:等价类划分法;边界值分析法;因果图法;场景法;正交实验设计法;判定表驱动分析法;错误推测法;功能图分析法。
常用白盒测试方法:静态测试:不用运行程序的测试,包括代码检查、静态结构分析、代码质量度量、文档测试等等,它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具(Fxcop)自动进行。

动态测试:需要执行代码,通过运行程序找到问题,包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。

总结: 在实际工作中,对系统的了解越多越好,所以目前大多数的测试人员都是做黑盒测试,很少有做白盒测试的。 因为白盒测试对软件测试人员的要求非常高,需要有很多编程经验。做.NET程序的白盒测试你要能看得懂.NET代码。做JAVA程序的测试,需要你能看懂JAVA的代码。 如果你都能看懂了,你还会做测试么~

按测试是手动还是自动上分类:

测试方法 测试内容
手动测试 测试人员用鼠标去手动测试 (测试GUI)
自动化测试 用程序测试程序 (测试API)

总结: 对于项目来说,手动测试和自动化测试同等重要,都是保障软件质量的方法。 目前大部分的项目组都是手动测试和自动化测试相结合。因为很多测试无法做成自动化,很多复杂的业务逻辑也很难自动化, 所以自动化测试无法取代手动测试。
对于软件测试人员个人发展来说, 做自动化测试是个挑战,也是测试人员发展的一个方向, 需要测试人员学习大量的开发知识(开发的知识真是学无止境啊)。 从长远角度来看,自动化测试肯定是越来越吃香的。
而手动测试比较适合刚工作不久的人,手动测试最大的缺点就是技术含量低,单调乏味,容易废人。
总的来说,手工测试胜在测试业务逻辑,而自动化测试胜在测试底层架构。

按测试的目的分类:
功能测试
测试的范围从小到大,从内到外, 从程序开发人员(单元测试)到测试人员,到一般用户Alpha/Beta测试

测试方法 测试内容
单元测试 在最低的功能/参数上验证程序的准确性,比如测试一个函数的正确性(开发人员做的)
功能测试 验证模块的功能 (测试人员做的)
集成测试 验证几个互相有依赖关系的模块的功能 (测试人员做的)
场景测试 验证几个模块是否能完成一个用户场景 (测试人员做的)
系统测试 对于整个系统功能的测试 (测试人员做的)
Alpha 测试 软件测试人员在真实用户环境中对软件进行全面的测试 (测试人员做的)
Beta 测试 真实的用户在真实的用户环境中进行的测试, 也叫公测 (最终用户做的)

非功能测试
一个软件除了基本功能之外,还有很多功能之外的特性,这些叫“Quality of Service requirement”服务质量需求。没有软件的功能,这些特性都无从表现出来,因此,我们要在软件开发的适当阶段-基本功能完成后做这些测试。

测试方法 测试内容
压力测试 验证软件在超过负载设计的情况下仍能返回正确的结果,没有崩溃
负载测试 测试软件在负载情况下能否正常工作
性能测试 测试软件的效能,是否提供满意的服务质量

按测试测策略分类:

测试方法 测试内容
回归测试 对一个新的版本,重新运行以往的测试用例,看看新版本和已知的版本相比是否有退化
探索性测试 随机进行的,探索性的测试。

回归测试:对软件测试人员来说就是重复测试,所以回归测试最好是自动化的,否则测试人员就要一遍又一遍地重复测试,
1.开发人员做些小改动,就需要测试人员做回归测试。确保现有的功能没有被破坏
2.Bug Fix 也需要回归测试,确保新的代码修复了Fix, 也确保现有的功能没有被破坏
3.项目后期,需要做一个完整回归测试, 确保所有的功能都是好的

探索性测试: 平常我最喜欢做随机测试了, 抛开test case. 自己按照自己的思路,随便点点。

软件测试工作的前景?

在IT行业,大家普遍是以技术能力来评价员工能力的。这不仅让公司大多数人轻视测试岗位,轻视测试人员,就是我们测试人员自己在与开发人员沟通时,都不自觉的小心翼翼起来。

其实,这完全是一种谬误,我们测试人员为啥要和开发人员比软件开发能力呢?其实软件测试岗位对职员的综合能力要求更高。首先,你需要具备“软件测试专业技能”,“沟通表达能力”,“资源协调能力”,“宏观把控能力”,而且还要“产品分析能力”。拿测试人员的弱项与开发人员的强项做对比,显然是不公平的。
以上,只是希望我们测试人员不要妄自菲薄,给我们测试人员补充点信心。
在软件行业的前景,分为以下5点:
1、随着国民生活水平的提高,人们开始对产品质量也有更高的要求,对人们离不开的软件产品更是如此,这就促使了软件开发公司,更加重视软件测试工程师这个岗位,但同时也提高了对软件测试工程师的要求。
2、从国外发达国家,成熟的软件公司的开发与测试比例来看,标准的说法是5:1,但从近期实际情况来看,达到了2:1不在少数。而国内的情况呢?达到5:1的其实是很少的,所以说,软件测试工程师缺口是很大的。
3、从个人职业发展来看,软件测试工程师更加强调经验积累,也就是职业寿命是比较长的,比开发工程师要长的多。
4、从后期岗位适应性来看,软件测试工程师可以转向管理岗,或者产品经理岗,我们的选择会更多。
5、从薪资待遇来看,懂接口自动化,UI自动化,性能测试的软件测试工程师,薪资待遇不比开发工程师低。

从以上几点来看,我们软件测试工程师的前景还是比较可观的,所以,我们只需要努力提升自己的能力,薪资待遇自然而然就跟着水涨船高了。

少年辛苦终身事,莫向光阴惰寸功!

测试小白的心酸路之测试初体验相关推荐

  1. JavaWeb进阶之路:MyBatis初体验

    JavaWeb进阶之路:MyBatis初体验 1. 简介 1.1 什么是MyBatis MyBatis 是一款优秀的持久层框架. 它支持自定义 SQL.存储过程以及高级映射. MyBatis 免除了几 ...

  2. Android开发学习之路--Notification之初体验

    一般当我们收到短信啊,微信啊,或者有些app的提醒.我们都会在通知栏收到一天简单的消息,然后点击消息进入到app里面,事实上android中有专门的Notification的类能够完毕这个工作,这里就 ...

  3. Android开发学习之路--Camera之初体验

    顾名思义Camera就是拍照和录像的功能,像微信里面,我们想拍照传一下照片,就能够通过camera来拍照,然后存储照片.发送给好友.那么微信的app里面是不会直接通过camera api来实现的,由于 ...

  4. Nvidia Jetson AGX Orin 初体验

    一.开箱 Nvidia Jetson AGX Orin是今年Nvidia推出的唯一的开发套件,相比Jetson Nano 472GFLOP算力.Jetson Xaiver 32TOPS(INT8)算力 ...

  5. PHP环境搭建和初体验

    文章目录 PHP 环境搭建 PHP 概念 环境 安装开发环境 选择php版本 phpstorm 安装 破解 编写php 页面 地址分析 配置虚拟主机 测试 mysql 是否安装成功 php编程初体验 ...

  6. 【软件测试】小陈她的测试追梦之路,实习开端到测试第一人......

    目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...

  7. 一:测试小白进阶论(中)

    二:测试小白进阶论(中) 想听故事的人继续喽~~ 上次说到考研之路是在室友的鼓励下,三个学渣开启了逆袭之路~~接下来讲讲自己的考研经历以及考研生活吧 从确定考研的目标后,我就从宿舍搬离出来了,在学校外 ...

  8. 一:测试小白进阶论(上)

    一:测试小白进阶论(上) 误打误撞,情非得已,历经坎坷..形容自己从事测试行业,只能用这些形容词来反映自己的小白职业生涯了,虽然本人本科以及研究生都是电子与通信工程专业,但是说自己依旧是小白一点也不为 ...

  9. 应届毕业生面试软件测试...测试小白如何抓住机会

    俗话说万事开头难,只要入行了后面要学习的东西很多,但是前期不需要很多的知识积累小白学习测试我建议先报一个培训班学习3个月在出来找工作要是0基础什么都不会出来找工作既浪费时间也会打击自己的信心. 我当时 ...

最新文章

  1. SAP的Cloud Platform增加了多云支持和商业语义
  2. Makefile学习笔记-备忘
  3. 安卓手机管理器_@你,请查收这款最强的安卓文件管理器
  4. 图片压缩大小java_压缩图片大小(Java源码)
  5. java解压zip异常_java解压zip文件示例
  6. ubuntu下nagios监控远程主机
  7. 使用jquery当页面打开时,将修改样式的点击事件绑定到Dom
  8. Java中正则表达式提取字符串
  9. 别人在加薪,你却在加班?快到这里和聪明的小伙伴一起充电吧!
  10. 万年历24节气C语言,电子万年历24节气c程序
  11. java cmd退出_在Java中关闭命令行窗口
  12. 相关性分析的五种方法
  13. 960H 、SDI和百万高清,谁会率先出局?
  14. 洗头冲水时冲下好些头发,我是要秃了吗???
  15. C语言编程b a化简,C语言编程,已知三角形的三边长a,b,c,计算求三角... 如果三角形三边长 a,b,c,满足( )那么这个三角形......
  16. Flink 命令行提交参数
  17. linux进程等待wait()实例
  18. DDR controller控制器之AXI接口模块设计
  19. 阿里P7架构师到底有多难?
  20. 喜讯|星舆科技获得CMMI 3级认证,研发能力获国际认可!

热门文章

  1. Windows通过composer来下载安装laravel
  2. 常用水体提取方法及适用场景
  3. Linux添加新硬盘和扩容已有硬盘
  4. 怎么判断你的MySQL到底是读多还是写多
  5. 软件工程:医院患者监护系统的问题定义及可行性研究
  6. linux系统清除redis信息
  7. 部连接很快贡献多少PR
  8. 关于高次幂的取余问题(一稿)
  9. provider android简书,Android 7.0 provider属性说明
  10. mac系统--屏幕录像工具