原副标题:[试验猿课后]阿宝是不是学试验?史上遍布世界各地《软件试验》自修走线!
看球3天,联合3位猿方案教育的副总裁级讲课老师,重新整理了这份《软件试验阿宝自修走线》,概要接近6000字,请我们冷静看完!
对于很多想通过自修改行软件试验的老师,关键点并不是自修动力,而是找不到清晰的自修思路。网络上的一呼百应“元老”给出的方案各式各样,但很少有人能把【完整的自修走线】真正讲透,导致先手阿宝看了一大堆资料,反而越看越懵。
为了能彻底消除这个问题,让更多人在学试验的道路上走的更为所花,我们精心设计为我们重新整理了更为全面、更为具体、更为高超的软件试验自修走线!
第二阶段:软件试验基本原理
基本原理知识作为软件试验技师进阶的第二步,这一部分内容是横跨了整个软件试验生涯的重要习题。至关重要的是试验相关的控制技术基本概念、试验用例结构设计、项目需求预测、瑕疵预测、瑕疵调查报告设备、试验用例评审委员等等。
软件试验的定义和目的:认知软件试验的基本概念,和为什么我们需要进行试验。软件试验准则:介绍软件试验的基本准则,如试验早期介入、瑕疵交叉耦合效应、DDT反例等。 试验等级:介绍不同的试验等级,如单元试验、软件系统试验、系统试验和验收试验。 试验类别:认知各种试验类别,如功能试验、性能试验、安全试验、相容性试验等。试验结构设计控制技术:介绍怎样结构设计试验用例,包括Vellore试验控制技术(如同构类划分、德圣茹预测等)和科茴芹试验控制技术(如代码全面覆盖、方向全面覆盖等)。 试验过程和开发周期:介绍软件试验的各阶段,如试验方案、试验结构设计、试验执行和试验评估结果。瑕疵管理工作:认知瑕疵的基本概念、瑕疵开发周期和怎样调查报告和跟踪瑕疵。 软件质量特性:介绍软件质量的各方面,如安全性、易用性、可移植性等。 信用风险控制工作:理解软件试验中的信用风险,如项目信用风险、产品信用风险等,和怎样辨识和管理工作这些信用风险。试验测度和指标:介绍怎样搜集和预测试验数据,以评估结果试验过程和食品质量。 试验项目组组织机构和配角:介绍试验项目组的组织机构结构,和各配角的职能,如试验经理、试验技师等。试验估计和方案:认知怎样估计试验工作效率,和怎样制定有效的试验方案。第二阶段:计算机基础知识储备
自动化软件试验控制技术作为互联网“新兴”蓝海IT岗。想要在软件试验领域获得不错的控制技术沉淀和发展,我们也要大牢自身的计算机底子控制技术。像常见的计算机硬盘知识、服务器相关知识、Mysql数据库、Linux系统知识。
另外最为重要的一点就是需要掌握一门编程语言。自动化软件试验的自动化,猿方案教育建议你选择Python。当然如果你有Java相关的编程底子,也可以选择Java。
计算机基础知识:计算机硬件:介绍计算机的基本组成,如CPU、内存、硬盘等。 计算机软件:认知操作系统、应用软件和编程语言的基本基本概念。 数据结构和算法:介绍基本的数据结构(如数组、链表、树等)和算法(如排序、查找等)。 计算机网络:认知网络基本基本概念,如OSI模型、TCP/IP协议、IP地址等。服务器相关知识:服务器硬件:介绍服务器的硬件组成和配置。 服务器操作系统:熟悉常见的服务器操作系统,如Windows Server、Linux等。 网络服务:认知常见的网络服务,如Web服务器、数据库服务器、邮件服务器等。 服务器性能监控和优化:介绍怎样监控服务器性能并进行优化。Mysql数据库:数据库基本基本概念:介绍关系型数据库的基本基本概念,如表、字段、主键等。 SQL语言:熟悉SQL语句的编写,如SELECT、INSERT、UPDATE、DELETE等。 数据库结构设计:介绍数据库的结构设计准则,如范式、索引等。 数据库性能优化:认知怎样优化数据库性能,如查询优化、索引优化等。Linux系统:Linux基本基本概念:介绍Linux操作系统的基本基本概念,如内核、Shell等。 Linux命令:熟悉常用的Linux命令,如ls、cd、grep、chmod等。 Linux文件系统:介绍Linux文件系统的结构和管理工作。 Linux系统管理工作:认知Linux系统的安装、配置、监控和维护。Python编程(进阶门槛低):Python基本语法:介绍Python的基本语法,如变量、数据类别、控制结构等。 Python函数和模块:认知Python函数的定义和调用,和模块的导入和使用。 Python面向对象编程:介绍类、对象、继承等面向对象编程基本概念。 Python常用库:熟悉Python常用的标准库和第三方库,如os、sys、requests等。Java编程(难度较高):Java平台:介绍Java的跨平台特性,如Java虚拟机(JVM)和字节码。 Java内存管理工作:认知Java的内存管理工作机制,如垃圾回收(GC)和内存泄漏。 Java异常处理:熟悉Java的异常处理机制,如try-catch-finally语句和自定义异常。 Java多线程编程:介绍Java的多线程编程基本概念,如线程创建、同步、死锁等。 Java I/O和网络编程:熟悉Java的输入输出(I/O)操作,如文件读写、网络通信等。 Java集合框架:介绍Java集合框架的结构和使用,如List、Set、Map等。 Java泛型:认知Java泛型的基本概念和应用,如泛型类、泛型方法等。 Java注解:介绍Java注解的概念和用法,如内置注解、自定义注解等。 Java反射:认知Java反射机制,如动态加载类、访问私有成员等。第三阶段:自动化试验和对应的工具自修
自动化试验和试验工具的自修,可以算是整个软件试验自修阶段的最后一部分也是最重要的知识。内容包含自动化试验进阶基础知识、Web自动化试验、App自动化试验、接口试验、性能试验、DevOps控制技术等等。
Web自动化试验:试验框架:熟悉常见的Web自动化试验框架,如Selenium、WebDriverIO等。 定位元素:掌握各种定位策略,如ID、Name、XPath、CSS选择器等。 试验脚本:编写试验脚本,使用编程语言如Java、Python、JavaScript等。 页面对象模型:介绍页面对象模型(POM)的基本概念和实现。 跨浏览器试验:认知怎样在不同浏览器上执行自动化试验。 持续软件系统:将自动化试验软件系统到持续集成流程中,如Jenkins、Travis CIApp自动化试验:试验框架:熟悉常见的App自动化试验框架,如Appium、Espresso、XCUITest等。 设备模拟器:介绍怎样使用模拟器和真实设备进行试验。 定位元素:掌握App中的元素定位策略,如Accessibility ID、XPath等。 试验脚本:编写试验脚本,使用编程语言如Java、Python、Ruby等。 平台相容性:认知怎样在不同平台(Android、iOS)上执行自动化试验。 持续软件系统:将App自动化试验软件系统到持续软件系统流程中。接口试验:HTTP协议:介绍HTTP协议的基本基本概念,如请求方法、状态码等。 RESTful API:认知RESTful API的结构设计准则和实践。 试验工具:熟悉常见的接口试验工具,如Postman、SoapUI等。 试验框架:掌握接口自动化试验框架,如RestAssured、HTTParty等。 试验脚本:编写试验脚本,验证接口的正确性、性能和安全性。性能试验:性能指标:介绍性能试验的关键指标,如响应时间、吞吐量、资源利用率等。 试验工具:熟悉常见的性能试验工具,如JMeter、LoadRunner、Gatling等。 脚本编写:编写性能试验脚本,模拟用户行为和负载场景。 结果预测:预测性能试验结果,辨识性能瓶颈和优化建议。 持续监控:将性能试验软件系统到持续软件系统和监控流程中。车载试验:车载系统:介绍车载系统的基本基本概念,如车载信息娱乐系统(IVI)、车载通信协议等。 试验框架:熟悉车载自动化试验框架,如Robot Framework、Cucumber等。 硬件模拟:介绍怎样使用硬件模拟器进行车载系统试验。 试验脚本:编写试验脚本,验证车载系统的功能、性能和安全性。 车载网络:认知车载网络的试验方法,如CAN、LIN、FlexRay等。