Focus IT College

QA Automation

In the QA Automation course, students will learn test automation strategies, scripting languages like Python or Java, and popular automation frameworks like Selenium or Appium. They’ll gain hands-on experience creating and executing automated test cases, analyzing results, and integrating automation into the development process. By the course’s end, students will have the skills to build robust automated test suites, enhancing software quality in their organizations.

Technologies and software you will add to your toolbox
Postman
git
Git
Docker Compose
Jenkins
Rest
Jmeter
file_type_graphql
graphQL
JavaScript
selenium
Selenium

Modules

General Concepts and Definitions. Basic Theory of Testing.
  1. Introduction to Testing.
    • Goals and Objectives of Testing.
    • History of Testing.
    • Basic Concepts and Definitions.
    • Testing Phases (STLC).
    • Tester Profile, Career Paths.

  2. Software Development Methodologies. SDLC.
    • What is a Project and the Project Triangle.
    • Software Development Lifecycle (SDLC).
    • Classic Methodologies. Pros and Cons. Waterfall.
    • Agile Methodologies. Agile Manifesto. SCRUM and Kanban.

  3. Types of Testing.
    • Main Types of Testing.
    • Levels of Testing.

  4. Test Artifacts.
    • Test Plan: standards, types, structure.
    • Checklist: formatting rules.
    • Test Case (Test-case & Test-suite): types, attributes.


  5. Practice.
    • Working with the Test Plan.


  6. Test Artifacts (Part 2)
    • Bug or Defect Report: main principles, attributes.
    • Test Reports.
    • Test Case Analysis.


  7. Practice. Creating Test Documentation.
    • Familiarization and Testing of Software Requirements.
    • Creating Test Artifacts for Software
    • Testing. Filling in Test Cases.
Practice Section
  1. Practice. Working with Mind Maps.
    • What are Mind Maps and Why Use Them.
    • Overview of Xmind.
    • Creating a Mind Map for Website Structure.


  2. Practice.
    • Testing Requirements.


  3. Practice.
    • Writing Checklists.


  4. Test Design. Testing Levels. Common Software Errors.
    • Test Design Techniques.
    • Main Test Design Techniques (Boundary Value Analysis, Pairwise Testing, etc.).
    • Application of Test Design Techniques in Practice.


  5. Testing Principles.
    • 7 Fundamental Testing Principles.
    • Black/White/Grey Box Testing: Advantages, Disadvantages, and Areas of Application.


  6. Requirements Testing. Verification and Validation.
    • Types of Requirements. Use Case Form.
    • Key Criteria for Good Requirements.
    • Sources of Requirements.
    • Methods of Gathering Requirements.
Characteristics of Web-Mobile Testing.
  1. Web Application Testing Specifics.
    • Features of Web Application Testing.
    • Dev Tools.
    • API Testing.
    • Functional Testing of Web Applications.
    • Usability Testing.
    • Practical Tips for Web Application Testing.


  2. Practice. Testing Requirements.
    • Case Studies from Tester’s Work Practice.


  3. Practice. Creating Bug Reports.
    • Case Studies from Tester’s Work Practice.


  4. Methods of Evaluation and Task Setting. QA Metrics.
    • Defining SMART Goals.
    • Principles and Specifics of Evaluation in Agile.
    • Evaluation Methods.
    • Software Testing Metrics.
    • Why IT Companies Use Project Management Services?
    • Introduction to Jira, Trello, Asana.


  5. Characteristics of Mobile Application Testing.
    • Types of Mobile Applications.
    • Tools for Mobile App Testing.
    • List of Aspects to Be Tested.
    • Common Defects in Mobile App Testing.


  6. HTTP/HTTPS. Networks. Client-Server Architecture.
    • What is HTTP/HTTPS, endpoint, URI, URL, web service?
    • Difference between a service and a website.
    • What is REST, SOAP? What are the differences?
    • What is JSON?
    • Difference between static and dynamic websites.
    • Differences between GET and POST methods? Client-Server Architecture.


  7. Practice. Utilizing Tools for Software Testing.
    • Working with TESTRAIL, Jira, Zephyr, Charles Proxy, Postman.


  8. Main Methods and Principles of Project Management in IT.
    • How HTML Works: Structure, Pros, and Cons.
    • What is CSS?
    • XML: Structure, Goals, Pros, and Cons.
    • Key Differences between Mobile Version and Adaptive Website.
    • Adaptive and Responsive Design.


  9. Testing Responsive/Adaptive Designs. Basics of HTML/CSS. XML.
    • General Principles of Project Management.
    • Types of Project Management.
    • Methods of Interaction with the Team Depending on Methodologies.
    • How Developers Can Collaborate with All Project Team Members and Project Managers to Achieve Goals.
    • Where to Seek Support and Who Clarifies Inaccuracies.


  10. Basics of Test Automation.
    • Basics of SQL.
    • Working with Databases.
    • When Automation is Useful and When it’s Not?
    • How to Improve the Efficiency of Test Automation?
    • Advantages and Disadvantages of Test Automation.
    • Object-Oriented Programming (OOP).


  11. Final Exam.
    • Summing Up.
    • Feedback from the Instructor.
    • Preparing for a QA Interview.
QA Automation.
  1. The Need for Automated Testing. Automated Testing Tools. Setting up Java.
    • Existing IDEs. Installing IntelliJ IDEA.
    • Language Vocabulary (Parentheses, Dots, Spaces).
    • Language Vocabulary (Primitives, Methods, Type Casting).
    • Arithmetic Operations (Increment, Decrement).
    • Comparison Operators. Logical Operators.
    • String Operators. Concatenation.


  2. Printing Output. Packages.
    • IF Statement.
    • FOR Loop.
    • Principles of OOP.
    • Classes and Objects.


  3. Selenium, TestNG, Maven (their equivalents).
    1. Creating a Project, Dependency Management.
    2. Main Instructions, Selecting and Launching Webdriver.
    3. Selectors.


  4. Selectors.
    • Selectors.
    • Assert.


  5. Waiters.
    • Structure of a Test Framework.
    • Page Object, Page Factory.
    • Key Words: static, final.


  6. Allure Report (and its alternatives).
    • Allure Report (and its alternatives).
    • Refactoring the Framework.


  7. Rest Assured.
    • Consultations on working on your own (thesis) project.
    • Git.


  8. Practice with Rest Assured.
    • Testing RESTful API.

Who is a QA?

QA (Quality Assurance) or quality assurance is a direction in IT that ensures high standards of software products.

A tester is an expert whose task is to check components or the entire system for faults and errors. Their goal is to identify and document potential issues in the program’s operation. By simulating various usage scenarios, the tester helps the development team eliminate the found shortcomings.

A QA Automation engineer is a specialist who creates programs for automated quality assurance of software.

React

Free individual consultation

We’re here to answer any questions you may have. Get an insight into our approach to tech education and learn what’s possible when studying with us.