软件测试工作学习必备指南——硬实力

软件测试工作学习必备指南——硬实力

为什么选择IT行业的软件测试职业?这个问题暂不做讨论,本次主要给大家分享软件测试工作学习所必备的硬实力,因为每个人都有自己选择从事这份职业的初心,每个有都有自己的职业规划。所以:既来之,则安之;不忘初心,居安思危,努力学习,继续前行。

软件测试必备的硬实力,我暂且概括为8个方面:软件测试相关技术、测试应用及管理工具、操作系统、数据库、编程语言、计算机知识、技术业务拓展以及其他分享等。下面粗略概括了这8个方面,以后再将分别从细节方面进行详细阐述分享或补充。

  • 软件测试相关技术

软件测试相关理论除了测试本身外,还应涉猎软件开发研发。

其软件测试理论包括:软件测试的基本概念、测试计划设计、测试需求分析、测试策略设计、测试规程设计、测试用例设计、测试脚本设计、评审、配置测试环境、执行测试用例、缺陷跟踪回归、测试报告输出、测试结束活动,单元测试、集成测试、系统测试和验收测试、功能测试和性能测试、白盒测试和黑盒测试、接口测试、安全测试、界面测试、兼容性测试等方面;

其软件开发研发理论包括:几个知名的软件开发模型(瀑布模型/螺旋模型/增量模型等)、软件设计的基本原理(模块化/抽象/耦合/内聚)、知名软件企业的软件研发流程,还要熟悉IS9000、CMM、CMMI项目管理等方面内容。

  • 测试应用及管理工具

功能测试工具:QTP、Selenium、SoapUI、Robot …
性能测试工具:LoudRunner、JMeter、SoapUI、RPT、OpenSTA、APM …
接口测试工具:postman 、SoapUI 、JMeter
自动化测试工具:Appium、Selenium、TestingWhiz
录制工具:badboy、SDemo
抓包工具:Fiddler、Sniffer、Wireshark、Tcpdump
项目管理工具:JIRA
文件配置管理工具:SVN
bug管理工具:禅道、QC、Clear Quest、TestLink、Bugfree、Bugzilla
纯文本编辑器:记事本 Notepad++、Editplus、UltraEdit、sublime

  • 操作系统OS

Windows系统、Linux系统、Unix系统、Android和ios系统

在主流操作系统(如:Linux系统)上能够搭建常见的服务,查看日志,解决相关故障。掌握其批量/分时和实时操作系统、进程、进程同步和互斥、进程间的通信、线程、资源分配、处理机调度、内存管理、磁盘分区和管理、I/O控制、文件系统管理等方面。

  • 数据库Database

MySQL、Oracle、SQL、SQL Server、Redis、Sybase、DB2

掌握主流数据库(如:MySQL、Oracle)语句的基础知识,重点在增删改查上,其基础知识包括关系型数据库、字段/关键字、表、索引、触发器、存储过程、常用系统函数、事务以及事务的提交和回滚、游标、SQL语言、数据备份、数据迁移、空难恢复、数据导入和导出、权限控制、数据库设计初步等方面。

  • 编程语言PL

Java、JavaScript、C/C++、Python、C#、PHP、shell、VB、Ruby ……

Web应用:主流的研发语言是Java和PHP
后端服务:主流的研发语言是Java和C/C++
大数据:主流的研发语言是Java和Python

掌握主流编程语言(如:Java)的程序设计的逻辑和面向对象的思想,为编写自动化测试脚本奠定基础,同时也是白盒测试不可或缺的能力。熟悉并掌握主流语言的数据类型、运算符、数组、程序控制流、函数、指针、结构、头文件、面向对象的编程方法、类和对象、构造函数和析构函数、Public / Private / Protected、继承和派生、多态、虚函数、掌握一种可视化C++编程工具等方面的知识。

  • 计算机知识

计算机网络知识(常见网络拓扑结构:总线型/环形/星型/树型/网状/混合型等、OSI七层协议参考模型、TCP/IP协议、HDLC协议、HTTP协议原理,session与token的区别,私钥与公钥的区别,以太网、常见网络设备,例如路由器/网桥/中继器/网关等、广域网、熟悉一种操作系统上的网络配置和常见问题分析);

数据结构(算法的时间复杂度和空间复杂度、线性表、栈、队列、树的基本概念、二叉树、图的基本概念、图的遍历以及图的生成树、查找(包括顺序查找/二分查找)、排序(包括插入排序/选择排序和交换排序));

B/S架构、C/S架构、微机原理、中间件、防火墙等方面。

  • 技术业务拓展

根据不同业务范畴,去熟悉相应的测试平台、环境,以及产品所需达到的最优状态。要比任何职能岗位上的人都要更清楚的熟知客户需求,从客户需求进行技术业务拓展,规划各阶段的测试内容。

  • 其它分享

关注IT前沿,熟悉IT行业的发展趋势。人工智能(包含有软件测试)、大数据、云计算、智慧城市、自动驾驶、5G通信、智能语音识别等技术大趋势。除了前沿技术,当然工作也不能缺少一些人生感悟,或者说是对财经、教育、医疗等方面的个人见解。

决心做一名软件测试技术人员,或者已是一名测试技术人员,针对软件测试这一大的板块,涉及的知识面较宽,为了更好的寻求发展,必须由量变到质变,俗话说得好:“技多不压身!”。希望本次整理的《软件测试工作学习必备指南》对大家的工作和学习有用!

若有不足之处,还望大家留言进行指正或完善,相信这是互相进步的开始。

你可能感兴趣的:(软件测试必备须知,软件测试学习,软件测试相关技术)