当前位置: 首页 > news >正文

一个优秀的软件测试工程师需具备的技能

今天早上看到一篇文章写的很好,软件测试工程师的地位在圈里的地位低下,甚至有些技术比较厉害的开发工程师觉得软件测试工程师没有存在的必要,而作为软件测试工程师的一员如何保持自己的技能和竞争力哪?下面简要介绍一下软件测试从低阶到高阶之路:

1.功能测试:功能测试是最基本的测试,保证可用性和正确性;编写测试用例一般用到的方法:等价类划分,边界值分析,错误推测,因果图,判断表驱动,正交试验法,功能图,最关键的是分析好业务逻辑,用户操作场景,异常场景,关联业务;执行测试用例的时候要掌握常用的linux命令,用来查看后台日志,还要掌握常用的sql语句,熟练掌握对数据库的操作;最后是写测试报告,体现测试价值的是测试过程中你发现的问题,进行风险点总结;

2.接口测试:

                1)了解常用的网络协议,如:http,htttps,soup,rpc,ftp,ssh,telnet

                2)了解常用抓包协议,如:fiddler,wireshark,burpsuit

                3)了解一些接口测试的工具,如:postman,soupui,java语言调用(httpclient包,jmeter包),python语言调用(request库)

3.自动化测试:

               1)自动化测试一般有UI功能自动化,接口自动化,接口参数化

               2)做自动化测试需要熟练掌握一门语言,python,java,c++

               3)具备一定的调试能力,最长用的就是打断点,虽然笨,但是最有效

               4)做好分析设计,以免后面频繁改动,维护成本不高的业务做成自动化,设计相关的测试用例,原则是还原用户操作

4.性能测试:

               1)常用软件:jmeter,loadrunner,测试报告一定要注意细节,细节才能体现报告中指示的问题

               2)要会一门编程语言,脚本编写用语言,由于系统的特殊性,例如jemeter调用dubbo接口,打印日志,都要用语言完成

               3)深入理解linux,系统配置会影响测试结果,要监控CPU,磁盘,内存,网络

               4)熟悉各种数据结构和算法

               5)使用各种辅助工具帮你解决程序出现的问题,内存溢出,CPU占用过高,读写数据库,网络长短连接

               6)熟悉各种中间件,tomcat,nginx,node,redis,mysql,

5.敏捷开发:

               1)敏捷开发就是快速开发,具体要团队间了解彼此之间的进度,遇到问题共同讨论,促进问题快速解决,保证项目按期完成

                2)持续集成(CI)持续交互(CD):一个项目由项目负责人拆分成多个模块,分给团队的每个人合作完成,其中一部分功能模块完成要做持续集成以便进行测试,持续集成部分完成测试即可持续交互,敏捷测试过程中最重要的是保证持续交互

               3)谈敏捷最重要的是了解,把任务分配给合适的人,才能保证快速高质量完成

 

转载于:https://www.cnblogs.com/pcy226/p/9242788.html

相关文章:

  • Mozilla正在SpiderMonkey中测试JavaScript并行计算
  • [剑指offer] 二叉树的镜像
  • PHP下用B/S编程模式去实现C/S软件编程模式下的插件引擎功能!
  • Vue创建五:导出及配置文件解析
  • 监测谁用了SQL Server的Tempdb空间
  • JavaScript面向对象程序设计(7): 闭包
  • Java NIO系列教程(十二) Java NIO与IO
  • Session,cookie,localStorage
  • Android拓展系列(12)--使用Gradle发布aar项目到JCenter仓库
  • VsCode编辑器
  • jQuery中的Ajax----05
  • Apache Zeppelin连接Oracle数据库
  • 测试数据库大小
  • Nginx配置文件详细说明
  • Android OpenGLES绘制天空盒
  • Docker: 容器互访的三种方式
  • Docker下部署自己的LNMP工作环境
  • download使用浅析
  • gf框架之分页模块(五) - 自定义分页
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • iOS编译提示和导航提示
  • Java多线程(4):使用线程池执行定时任务
  • JS 面试题总结
  • React-redux的原理以及使用
  • Vue全家桶实现一个Web App
  • 从伪并行的 Python 多线程说起
  • 动态规划入门(以爬楼梯为例)
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 基于 Babel 的 npm 包最小化设置
  • 坑!为什么View.startAnimation不起作用?
  • 类orAPI - 收藏集 - 掘金
  • 马上搞懂 GeoJSON
  • 鱼骨图 - 如何绘制?
  • Spring第一个helloWorld
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (Note)C++中的继承方式
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (图)IntelliTrace Tools 跟踪云端程序
  • (一)kafka实战——kafka源码编译启动
  • (转)jdk与jre的区别
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转载)(官方)UE4--图像编程----着色器开发
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • ??myeclipse+tomcat
  • @param注解什么意思_9000字,通俗易懂的讲解下Java注解
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?