Current location - Loan Platform Complete Network - Big data management - How long does it take to learn linuxshell programming
How long does it take to learn linuxshell programming

Here is a complete study route for test development based on the Python language, and those interested in software testing can study according to this outline:

Phase 1: Professional Foundation Course

Phase Objectives:

1. Proficiency in IT core technologies: programming, database, operating system, version control

2.To be able to skillfully use the learned technology to build all kinds of server environments

3.In-depth understanding of the software development process of a variety of difficulties and means of dealing with them

4.Mastery of Python programming technology and skillful use of Python for programming

Knowledge Points:

1.Web page elements, layout, CSS styles, box model. JavaScript programming, functions, basic algorithms, regular expressions.

2. Database knowledge, paradigms, MySQL configuration, commands, building libraries and tables, data addition, deletion, modification, constraints, views, stored procedures, functions, triggers, transactions, cursors, modeling tools in-depth understanding of the general knowledge of the database management system and the use and management of the MySQL database. Lay the foundation for software testing and test development.

3, Linux installation and configuration, file and directory operations, VI commands, management, users and permissions, environment deployment, Shell programming Linux as a mainstream server operating system, is a key technology that every test and development engineers must master, and be able to skillfully use.

4, Python programming fundamentals, syntax rules, functions, data types, PDBC, to develop a solid Python programming fundamentals, as well as Python core object programming has a skilled use.

5, Python object-oriented, exception handling, file IO, multi-threading, network programming, PyQT interface development, in-depth understanding of object-oriented programming, exception handling mechanisms, multi-threading principles, network protocols, knowledge, and skillful use in the project.

Phase 2: Professional Core Courses

Phase Objectives:

1. Proficiency in applying knowledge to complete a standard software testing project

2. Proficiency in applying Python to complete the development of GUI testing, interface testing, and performance testing

3. In-depth understanding of the system of test development technology and the principle of implementation

2, testing requirements analysis, test scenario design, test case design, test project implementation, defect reporting and test reports, in-depth understanding of the various processes and key aspects of system testing, and proficiency in completing system testing projects.

3, SikuliX framework, framework, SeleniumWebDriver framework, basic framework, Android applications, Monkey test, Appium mobile testing framework, mobile testing framework comprehensive use of various types of application operating platforms, to complete a variety of automated testing framework learning and application, in-depth understanding of GUI automation testing technology and the corresponding framework for test development.

4, Python unit testing framework, network communication protocols, HTTP and HTTPS protocols, WebService and WebSocket protocols, Python's interface test libraries, PostMan and SoapUI interface testing tools through the code level interface testing and protocol level interface testing test development practice, flexible use of Python development of interface test scripts, skilled use of various types of interface testing tools.

5, performance testing principles, index system, scenario design, implementation process, JMeter tool applications, BeanShell script development, PythonLocust performance testing framework in-depth understanding of the performance testing technology system and methodology, proficiency in the use of JMeter performance testing tools and Locust performance testing framework to implement the performance of any system. Testing.

Phase 3: Comprehensive Practical Projects

Phase Objectives:

1. Flexibly apply software testing and test development techniques to projects

2. Have strong test development skills and independently complete test development projects

3. Comprehensively utilize software testing techniques to meet the needs of mid-level and senior-level talent in the enterprise

4. In-depth understanding of the techniques learned and the ability to solve problems independently

Knowledge Points:

1. Testing requirements analysis, peer review, test plan, test scenarios, test cases, configuration management, continuous integration. Through the testing of large-scale enterprise-level application system project practice, to strengthen the understanding of the implementation process and technical details of the system testing project.

2, interface test design and implementation, regression testing, smoke testing, security testing, framework applications, UI automation will be a variety of automation testing techniques combined with project exercises to strengthen the use of automation testing technology, while mastering more testing framework.

3, performance testing project combat, LoadRunner performance testing tools, summarized through a comprehensive project combat, the full set of testing techniques into the project, to strengthen the learning effect and project experience.

4, Python native test framework development, including Monkey, UI, image recognition, cloud test platform, HTML test reports, continuous integration, KDT keyword driven framework development and other native technology to achieve through a large number of Python native code development, in-depth understanding of the underlying implementation principles of automated test development technology, completely abandoning the dependence on the tool. Do real test development technology.

5, based on the design ideas and means of implementation of the test framework, independent realization of a set of test framework can be independently completed a set of automation test framework, and can be directly used in the actual project.

6, continuous integration and Jenkins, security testing principles and tools, Python crawler development and Scrapy framework, to enhance the software testing of other types of technology, enhance knowledge, enhance competitiveness, help career development.

Supplementary knowledge

1, advanced algorithms, image processing, video processing, encryption and decryption, compression algorithms.

2, UML unified modeling language, five kinds of diagrams, class diagrams, class diagrams in detail, use case diagrams, timing diagrams.

3, Dubbo distributed development framework, Oracle relational database management system, MongoDB non-relational database management system.

4, big data development framework Hadoop/MapRece/Spark.

5, Android and iOS native application development and WebApp development.

6, OpenCV image processing framework, TensorFlow deep learning framework, Lucene full-text search engine and Chinese word segmentation framework Ik-Analyzer, video processing algorithms and frameworks.