learn route
一、技术背景
在软件测试中, 自动化测试指的是使用独立于待测软件的其他软件来自动执行测试、比较实际结果与预期并生成测试报告这一过程。在测试流程已经确定后,测试自动化可以自动执行的一些重复但必要测试工作。也可以完成手动测试几乎不可能完成的测试。对于持续交付和持续集成的开发方式而言,测试自动化是至关重要的。
随着软件系统规模的日益扩大,以及应用领域的不断拓展,对软件系统的测试也变得更加困难和复杂,传统的人工测试的局限性也越来越明显。自动化软件测试技术可以克服传统测试技术的许多问题。自动化测试所依据的是一套严密的测试法则和评估标准,具有完整的自动测试过程。因此,它可以避免测试人员惯性思维所导致的测试疏漏,也可减少由于手工测试中繁复的重复工作所导致的人为差错。根据 --- SmartBear测试状态调查---,如今平均有44%的测试是自动化的。不仅如此,测试人员还普遍认为,随着越来越多的组织转向敏捷,这种方法将在未来几年变得越来越流行。
二、系统框架
在开始自动化测试学习之前,强烈建议阅读以下几篇部落格,从而在脑海中形成一个大致的系统框架。
[A Test Automation Learning Path](https://www.linkedin.com/pulse/test-automation-learning-path-bas-dijkstra)
[7 Quick Steps to Become a Great Automation Testing Engineer](https://dzone.com/articles/7-quick-steps-to-become-a-great-automation-testing)
[Top 17 Resources To Learn Test Automation In 2019](https://dzone.com/articles/top-17-resources-to-learn-test-automation-in-2019)
[What do I Need to Start From Zero in Automated Testing](https://sqa.stackexchange.com/questions/6742/what-do-i-need-to-start-from-zero-in-automated-testin)
[From 0 to 100:How to Go From Aanual to Automated Testing](https://crossbrowsertesting.com/blog/test-automation/automated-testing-manual-tester/)
[What is The Best Source to Learn Automation Testing](https://www.quora.com/What-is-the-best-source-to-learn-automation-testing)
三、知识储备
- Linux system
1、推荐安装一个linux发行版系统:fedora 、ubuntu;等以后可以手把手教你安装。
2、Linux常用命令:参见附件。
3、Linux入门书籍:[鸟叔的Linux私房菜第三版](http://cn.linux.vbird.org/linux_basic/linux_basic.php),另附电子版书籍。
- Shell scripting
1、[Writing Shell Scripts](https://linuxcommand.org/lc3_writing_shell_scripts.php)
2、Shell Scripts数据:参见附件。
- Version Control:Git 、Subversion
1、安装git:[Git Download](https://git-scm.com/downloads)
2、廖雪峰的官方网站:[Git教程](https://www.liaoxuefeng.com/wiki/896043488029600)
3、个人在学习Git过程中踩过的坑:参见附件。
- Object-Oriented Programming:Python
1、安装一个IDE:推荐下载[Pycharm](https://www.jetbrains.com/pycharm/download/#section=windows)
2、[W3school](https://www.w3schools.com/python/default.asp)
3、Python从入门到实战:参见附件。
- Android Architecture
1、[Android Open Source Project](https://source.android.com/compatibility)
四、自动化测试工具
- Automation Functional and UI Test
1、Selenium and TestNg。
- CI Pipeline tools
1、Jenkins, Bamboo and Electric Commander。
- API Test
1、Postman and Rest Assured。