谁说软件测试简单了?

经常听想入行的朋友说:

我想转软件测试,听说软件测试很简单。

这时我的心里就呵呵了,谁说软件测试简单了,你知道吗?测试工程师要会的,要了解的东西比开发多,比运维多,比DBA多,比产品经理多,不管是是从广度还是维度上来讲,测试人员需要掌握的东西都太多了。


那就分析一下测试工程师需要会哪些技能:

01

软件测试理论

作为一个软件测试人员,总不能不知道软件测试本身的东西吧。

你总要知道软件测试是什么?什么是测试用例?什么是缺陷?软件测试有些什么特点?这些仅仅是理论,现在还不关心会不会做。

比如软件测试的定义,软件测试是测试程序?还是测试文档?还是测试软件等?

02

软件测试流程

如果要清楚软件测试流程,那就一定要知道软件工程、软件生命周期、研发模型、测试模型。

模型又有经典的瀑布模型、目前最流行的敏捷开发流程、V模型、W模型、X模型、H模型等,这些模型至少要随便知道三四种吧。

03

测试文档

软件测试是技能型工作,不是研究型工作,了解了软件测试理论之后,你总会要做点东西吧,比如写写文档。

软件测试人员必备技能之一就是写文档,会总结。

软件测试有很多文档要写,比如测试计划、测试方案、测试用例、提交bug单、测试报告,有时每个迭代完全后,老大还会要求你输出几份经验文档出来,可见会写文档的测试人员是多么的必要。

04

计算机基础

软件测试工程师怎么说也算是IT人员,计算机基础总要会吧。

不然让你关个服务,你迷茫……

让你配置个环境变量,你再迷茫……

让你安装软件,卸载个软件,你搞半天,安装的软件全在C盘,卸载软件完全没卸干净,重装不成功,然后你再再迷茫……

让你在DOS命令窗口查个IP,然后再配个静态IP,你再再再迷茫

………………

计算机基础是软件测试人员必备的技能之一。

05

软件、工具

作为一个IT人员,你好意思说自己不会几个软件么?

那我们就一起盘点盘点,软件测试人员必须要会的软件:

office办公软件就不说了,软件测试要写这么多文档,office办公软件一定要会。

需求分析时,拆会测试点时,总要画一下思维导图,所以XMIND或其它思维导图软件总要会一个吧。

配置管理工具,不管是以前的SVN还是现在流行的git总要会一个。

远程连接工具,数据库和服务器基本都是配置机房,所以数据库和服务器的远程连接工具都要会,你总不能跑到机房去操作吧,如果你跑到机房去操作,那一定记得带台显示器去。

碰到不会的,总要查一下度娘和谷叔吧,你不会说这个人人都会,千万别这样!要不然怎么会有相同的问题,别人就能快速找到解决方法,而你搜索出来的网页总是找不到呢?

06

数据库

不管是MySQL,还是Oracle,还是SQLServere,还是DB2等等,数据库的特性、性能和优化可能不用知道,但是SQL语言总要会吧,谁让它们都认识SQL语言呢。

SQL语言又会为DDL、DML、DQL、DCL。

数据定义语言(DDL):

用于下定义和管理数据对象(库,表,索引,视图),包括数据库,数据表等,例如:CREATE DROP ALTER等语句。

数据操作语言(DML):

用于操作数据库对象中包含的数据,例如:INSERT UPDATE DELETE语句。

数据查询语言(DQL):

用于查询数据库对象中包含的数据,能够进行单表查询,连接查询,嵌套查询,以及集合查询等各种复杂不同的数据库查询,并将数据返回到客户机中显示,例如:SELECT语句。

数据控制语言(DCL):

用于管理数据库的语言,包含管理权限及数据更改,例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。

就算软件测试人员不需要关心数据库结构,可以不用DDL、DCL,但是针对数据(增、删、改、查)的DML、DQL语言一定要会吧。

就算你说insert、update、delete语句都很简单,照着格式直接使用就行,那select呢。

select语句不仅有简单查询,还有复杂查询。

复杂查询中包含多表查询、连接查询、子查询,以及包含各种函数进行的查询。

这些语句软件测试人员都要掌握吧。

07

LINUX

Linux做为服务器的操作系统,软件测试人员需要经常在LINUX上进行搭建测试环境。

如果你说公司的测试环境都是开发搭的,系统和软件是运维装的,不用了解Linux系统。

那你就大错特错了。

如果测试过程中,运行报错了,总需要在后台去看看日志吧,分析下是不是bug,如果是bug,总还需要定位一下吧。

如果Linux系统很卡时,你总要去查下进程,查下系统资源管理,或者杀死几个进程,重启下服务什么的。

那这些命令软件测试人员总都要会吧。

如果你说这些还都可以依靠开发和运维,那你就当我没说。

08

编程语言

既然是IT人士,如果出去说自己不会一门编程语言,好像很没面子一样的。

目前世面上编程语言有C、C++、C#、世界上最好的语言(PHP)、JAVA、Perl、Python等等上百种,那你总要选一门语言学会使用。

一般情况下都是选公司系统目前所用的语言。

但如果不知道怎么选,那我建议软件测试人员可以选JAVA和Python,JAVA经久不衰定有它过人之处,Python能在这么短的时间内火起来,也一定是有原因的。

如果没有任何编程基础,建议先学Python,Python更加贴近自然语言,学起来更顺手,更快。

09

行业

软件测试有一条原则是:测试活动依赖于测试内容。

那这个测试内容就是公司业务,在成为业务之前,俗称需求。

经常在JD中看到有支付行业经验优先,有金融行业经验优先,有电信行业经验优先,有电商行业经验优化……

为什么会这样呢?

那是因为测试人员一定需要了解业务,熟悉业务。

从事电信行业的测试人员需要掌握各类协议,比如HTTP协议、TCP/IP协议,还有可能需要熟悉交换机和路由器的原理。

从事金融行业的测试人员需要熟悉各种会计知识。

如果是测试嵌入系统的测试人员还需要了解硬件知识。

软件测试人员需要非常熟悉所测软件的业务,比谁都要熟悉。

以上这些都是基础中的基础。

如果你还成长成大牛,作为测试人员还需要会自动化测试、性能测试、安全测试、接口测试等。

那每一种测试有涉及到各种各样的工具和框架,比如自动化测试。

比如工具就RobotFramwork、QTP、Selenium、AutoRunner等等很多很多,虽然不需要全都掌握,但至少要会一种吧。

那其他的测试类型也一样。

你还能说软件测试简单么?

最后,王豆豆想说”路漫漫其修远兮,吾将上下而求索“,Tester们一起努力吧。

欢迎关注微信公众号:资深Tester,了解更多好文,和王豆豆一起成长。。。

原文地址:https://www.cnblogs.com/evangline/p/8251084.html

时间: 2024-08-03 23:55:08

谁说软件测试简单了?的相关文章

软件测试曾经踩过的坑?

原文链接:https://www.zhihu.com/question/60591301/answer/209549333 软件测试曾经踩过的坑? 1.自以为了解业务逻辑,实际浮于表面 这是个深坑,产品迭代跟的久了,功能上闭着眼睛都能说清楚就自以为很了解,实际上连该功能使用的协议,调用的接口都不知道,所以看到问题都是表面的问题.你只看到了两个操作的入口不一样,提示信息不一样,你就以为是两个问题,而这两个问题都是调同一个接口引起的,但你分析不出来.. 这样导致的问题有: ①修改bug后对影响范围评

解析!2018软件测试官方行业报告

前段时间,来自QA Intelligence的2018年度软件测试行业年度调查报告已经隆重出炉了. <软件测试行业现状报告>旨在为测试行业和全球测试社区提供最准确的信息,是全球最大的测试行业调研报告,来自80多个国家的约1500名受访者参与了此次调研. 这份报告针对软件测试的年度行业现状进行了调研,并给出了非常具体的数据统计.对于软件测试从业人员而言,是一个很好的可以用来了解行业趋势.职业状态的窗口,能为我们职业发展的方向提供强有力的数据支撑. 下面就跟大家一起来解析这份报告都告诉了我们一些什

[软件测试]Linux环境中简单清爽的Google Test (GTest)测试环境搭建(初级使用)

本文将介绍单元测试工具google test(GTEST)在linux操作系统中测试环境的搭建方法.本文属于google test使用的基础教程.在linux中使用google test之前,需要对如下知识有一些了解: (1)C/C++编程方法 (2)makefile的编写 (3)linux命令行操作 (4)GTEST背景知识:它是用来干什么的?它用什么语言编写的?它的一些基本语法?等等 以上知识不需要做到熟能生巧,只要达到入门级别,使用GTEST不会费任何力气,毕竟GTEST也不是一个高门槛的

软件测试之实验一——如何使用JUnit,Hamcrest和Eclemma进行简单的软件测试

一.安装JUnit,Hamcrest和Eclemma JUnit以及Harmcrest都以JAR包作为基础导入工程.安装jar包的过程很简单,只要在新建工程的时候导入或者直接在工程里导入即可.如下图所示: 可以直接在项目中添加额外的jar包,也可以将jar包路径添加到classpath中. Eclemma可以通过eclipse的market安装,搜索Eclemma,同意安装后重启即可. 二.实验内容 实验完整代码已上传至github:软件测试实验一@杨牧童 实验程序为一简单的判断三角形类型的函数

一种简单的软件测试工具——Visual Studio2010

今天,我们来介绍一种简单的软件测试工具——Visual Studio2010.Visual Studio2010是由微软公司研发的一套基于组件的开发工具构成,其中还包括其他一些技术以用于生成功能强大.高性能的应用程序,它重新设计了集成开发环境和代码编辑器,可直接生成代码和文本模板,增强了可视功能以及 WEB 应用程序部署的方法和过程. Visual Studio2010 在功能上有了很大的改进: 1.VisualStudio2010 集成环境进行了改进. 这一点主要体现在,可视增强功能进一步改善

软件测试学习日志———— round 2 Junit+intellj idea 安装及简单的测试使用

今天是软件测试的上机,主要内容是对junit的安装以及对一个简单类的测试实践.老师推荐用eclipse,但是我原来一直在 用intellj Idea,所以我试了试intellj Idea对junit的安装使用.下面介绍过程. 安装: intellj Idea 自带了junit模块,所以安装起来很简单. 首先,打开intellj Idea,双击shift键,搜索plugins,点击下图中画红线的button. 进入plugins后,搜索junit,选中下面画红圈插件后面的对勾,然后确定并重启int

[软件测试学习]考虑到测试的代码编写/int.parse的非法输入—由一个简单的c#闰年检测程序说起

一个简单的C#的闰年检测程序 1.闰年检测的函数编写 当提起检测平年闰年时候,第一反应写出的代码 1 public static bool isLeapYear(int year){ 2 return ((year % 4 == 0 && year % 100 != 0)||(year % 400 == 0)) 3 } 但是这个并不易于测试和出现错后的修改,更改代码如下 1 public static bool isLeapYear(int year){ 2 bool check = ne

软件测试的简单认识

1.软件测试是什么? 软件测试的定义老师给出了以下几个版本. (1) 软件测试时旨在评估程序或者系统的属性或能力,判定它是否满足要求的结果. (2) 软件测试是通过观察和实验来为利益相关者提供有关产品或者服务的测试信息. (3) 软件测试时贯穿于产品的整个生命周期,旨在通过使用测试用例来测试软件行为和性能的一系列活动.包括需求和文档.2.从哪里来? 软件测试从哪里来,也就是我们为什么要进行软件测试.我们都不是最完美的程序员,甚至最顶尖的程序员也不一定能编写出完美的程序.而软件测试可以帮助我们找出

几种简单的软件测试模型

软件测试是软件质量保证的重要手段之一,软件测试模型则是软件测试的工作框架,用于指导软件测试过程.今天,我们就来介绍几个基本的软件测试模型——V-模型.W-模型和前置测试模型. 一.V-模型: 在传统的瀑布型软件开发过程中,仅仅把测试过程作为在需求分析.概要设计.详细设计及编码之后的一个阶段,对软件测试过程没有进一步的描述.V-模型针对瀑布模型对软件测试过程进行了补充.V-模型最早由已故的Paul Rook在80年代后期提出.在该模型中,测试过程被加在开发过程的后半部分,如下图所示. 在开发阶段一