QA测试开发技能总结

首先;谈到测试开发和测试角色,业务测试同学主要是用手工测试持续的维护开发的业务产品,测试发现bug,并且传达给开发人员修复,简称手测 and 口测。 但是对于测试开发人员来说,主要是要求会的多一些,知识面要广泛,需要掌握的知识比较多且凌乱; QA中的测试开发****,这个岗位的核心职能还是测试,是通过开发的手段提升测试的效率。也就是用程序自动化的方式实现测试,来保障软件产品的质量,包括功能测试和性能测试。其次,以下梳理需要掌握的测开基础知识;

一、基本技能

  1. 测试理论
  2. 需求分析(需求文档、API文档、UI、程序和数据)
  3. 编写用例(核心要素:名称、级别、步骤、期望结果、实际结果)
  4. 评审用例
  5. 用例执行
  6. 测试报告(markdown、html、excel、word、ppt)
  7. 开发模型(敏捷开发Scrum、瀑布模型、Agile、XP, 螺旋模型)
  8. 敏捷测试 冒烟测试 回归测试

二、专业技能

  1. SQL 语句 (连接工具:Navicat Premium、SQLyog)
  2. linux 常用命令(连接工具:xshell、crt,传输工具:winSCP、FileZilla)
  3. http、https 区别 tcp协议.
  4. BS、CS 区别
  5. post、get 区别
  6. web、App 测试区别
  7. 熟悉 Android(adb 命令等)、iOS、windows(pc)Batch、linux(pc)、WP*(mobile)

三、工具使用/搭建

  1. 抓包工具(fiddler、charles、wireshark 等)
  2. 数据库管理工具(Navicat、SQLyog)
  3. redis 管理工具(Redis Desktop Manager)
  4. 接口测试工具(Postman,HttpRuner)
  5. 性能工具(PC:LoadRunner、jmeter、Locust,Android-APP:monkey、GT、Emmagee*)
  6. 自动化测试工具(Appium、selenium-webdirver、macaca、airtest、Robot Framework、QTP、monkeyrunner*)
  7. 缺陷管理工具(禅道、bugfree、redmine、jira、望岳)
  8. 第三方测试平台(testin、腾讯优测、阿里MQC、 百度MTC)
  9. 设备批量管理平台:STF
  10. 项目同步工具:git、 svn
  11. 安全性测试:sql 注入(or 1=1)、 xss、url 加密、密码密文存储、https
  12. 持续集成:jenkins, 滴滴OE
  13. 容器引擎和操作系统:docker, Linux

四、语言技能

  1. 编程语言 - 了解(java、python,golang ,php 等)
  2. 脚本语言 - 掌握(Python、shell、Ruby 等)
  3. 标记语言 - 了解(html、css、JavaScript 等.)
  4. 其他的代码管理能力 - git, gitlab等.

总之;当然以上的知识比较多,全面,但是真正对于工作中的测试开发来说; 对于测试开发角色,语言主要是用Python,其它任何语言都是可以的,只是Python相对更适合,测试开发很少用到数据库,即使要用到数据库,Redis、MySQL和Linux命令这三种也完全能够满足。

Python学习网站如下;

https://www.python.org/

https://www.runoob.com/python/python-tutorial.html

QA测开技能(Python基础)
基于上一篇《QA测试开发技能总结》的介绍,对于0基础或者没有基础的同学,需要把python学好,正如李淳罡世间心诚剑士人人会两青蛇,愿天下惊艳后辈人人可剑开天门。 我- 望世间QA测试人人会python技术,望天下IT人员人人可自动测试 - 以下是一些python常用学习地址;

http://c.biancheng.net/python/

https://www.runoob.com/python/python-basic-syntax.html

关于python,有以下特性;

  • 易于学习:Python 有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
  • 易于阅读:Python 代码定义的更清晰。
  • 易于维护:Python 的成功在于它的源代码是相当容易维护的。
  • 一个广泛的标准库:Python 的最大的优势之一是丰富的库,跨平台的,在 UNIX,Windows 和 macOS 兼容很好。
  • 互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
  • 可移植:基于其开放源代码的特性,Python 已经被移植(也就是使其工作)到许多平台。
  • 可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用 C 或 C++ 完成那部分程序,然后从你的 Python 程序中调用。
  • 数据库:Python 提供所有主要的商业数据库的接口。
  • GUI 编程:Python 支持 GUI 可以创建和移植到许多系统调用。
  • 可嵌入:你可以将 Python 嵌入到 C/C++ 程序,让你的程序的用户获得”脚本化”的能力。
  • 面向对象:Python 是强面向对象的语言,程序中任何内容统称为对象,包括数字、字符串、函数等。

python常用的关键字如下;

'False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'

Python 中有六个标准的数据类型:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

Python3 的字符日常的语法总结:

  • Python 中单引号和双引号使用完全相同。
  • 使用三对引号('''或""")可以囊括一个多行字符串。
  • 转义符 ''
  • 自然字符串, 通过在字符串前加 r 或 R。 如 r"this is a line with \n" 则\n会显示,并不是换行。
  • Python 允许处理 unicode 字符串,加前缀 u 或 U, 如 u"this is an unicode string"。
  • 字符串是不可变的。
  • 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。
  • 字符串可以用 + 运算符连接在一起,用 * 运算符重复。
  • Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以1 开始。
  • Python中的字符串不能改变。
  • Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
  • 字符串的截取的语法格式如下:变量 [头下标: 尾下标: 步长]

Python3 的六个标准数据类型中:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
    关于python基础语法也总结了个脑图,方便大家掌握;


    image.png

以下是一些python base的cheat sheet总结;把基础知识进行浓缩了,方便大家学习和熟悉;

image.png

image.png

对于selenium或者appium自动元素定位一般要熟悉xpath语言,对于xpath也做了cheat sheet总结;


image.png

希望本文章对于自动化python基础有所帮助。

你可能感兴趣的:(QA测试开发技能总结)