Practical Software Testing Short Course for Beginners
Target group
The course is intended for those who have little or no previous experience with software testing, but are planning to start with it. Everyone else who wants to take a look at the world of testers and thereby understand the nuances of testing and software development are also welcome. For example, product managers, head users, analysts, project managers. All you need is a desire to learn, the ability to use a computer on a daily basis.
Koolitajad
Objectives
To provide practical basic knowledge of testing. In order to continue testing studies, to prepare the learner for independent software testing, to start working as a junior tester under a mentor, or to use basic testing skills in their daily work (ordering software, product management, project management). Those who complete the course understand software systems and development processes. Can prepare and carry out various software tests by himself. Acquires knowledge of static testing, tests databases and APIs. Learns how to use error handling programs. Test reporting and version control. Test planning, management and static testing. API testing, database testing and test automation. The emphasis of the course is on practical knowledge and exercises - the content of both independent tasks and theoretical lectures is practically oriented and has been tested by the trainer in real life. The course contains 0% theory that is not useful in real life. The practical part is about 50%.
Topics covered
- Principles of Testing
- Simplified Testing
- Writing User and Test Stories
- Foundations of Website Testing
- Creating Tickets in JIRA
- Development Methodologies
- Testing Levels and Testing Environments
- Testing Types: FN (Functional) and Non-FN Tests
- Black Box vs. White Box Testing
- Regression Testing
- Mobile and Web Testing
- Test Report Generation
- Equivalence Classes and Boundary Value Testing
- GIT – Version Control
- Selenide framework – Automation
- Test Planning and Test Strategies
- API Tests
- Database Tests
- Test Management Tool Usage
- GIT
- Exercises throughout the course. Reviewing homework assignments together and providing feedback on the third and fifth days of the course. 16 academic hours.
— Software and simpler IT systems, components
A brief introduction to hardware and an example of software structure based on a complex website. Grouping specialized software and understanding the need for their existence 0.5 academic hour.
– Overview of Software Development Process
Introduction to the most common Software Development Lifecycle (SDLC) models: Waterfall model, Prototyping model, Iterative model, Spiral model, Agile, Scrum, and Kanban. Discussion of the 7 development phases 1 academic hour.
Seven fundamental principles of testing 0.5 academic hour.
Getting acquainted with quality and the user's perspective of the system with practical testing. Let’s talk about scope and the main goal 1 academic hour.
These are methods used in software development to describe how software is used from a user's perspective. Writing test cases and comparing them to the actual behavior. Creating test cases based on an existing system 1 academic hour.
Using built-in browser development tools. Covering the main testing techniques needed for website testing. In-depth coverage of different subtypes of black-box testing.
Equivalence partitions
Boundary value analysis
Decision table testing
State transition testing
User story testing 3.5 academic hours
Getting acquainted with the world's most widely used workflow management software. Will use it to simulate real-life scenarios in the software development process, where a tester provides feedback on the results found 0.5 academic hours.
Most commonly used methodologies: Agile, Scrum, Kanban, Lean, BDD 1 academic hour.
Defines the scope of testing: smallest component of the system -> entire system. Test vs. Live environments. Component testing -> Integration testing -> System testing -> Acceptance testing. 1 academic hour.
Functional testing answers the question of WHAT the system does. Non-functional testing answers the question of HOW the system does it 0.5 academic hours.
White or transparent box testing involves internal structure analysis. Black box testing is performed only by providing inputs and comparing results in the user interface or website. 2 academic hours.
Typically preventive testing to ensure the correct functioning of existing parts of the program 0.5 academic hours.
Reviewing all aspects that need to be considered for ensuring excellent performance in both cases 5 academic hours.
2 academic hours
1 academic hour
1 academic hour
2 academic hours
Test estimation or time estimation. How to do everything that needs to be done and how many resources it requires. Test strategies: analytical, methodical, process-compliant, driven, regression-resistant, reactive. 1 academic hour.
Using Postman software for API – application interface testing. Application interfaces are the most used solution for connecting systems (for example, an Instagram post appears instantly on Facebook) 3 academic hours.
All displayed information actually resides in databases. We perform primary queries to retrieve information. 2 academic hours.
Jira, TestRail, Trello, 1 academic hour.
A distributed version control system (DVCS) widely used for tracking changes in source code during software development. It is one of the most popular version control systems (VCS) and is widely used in the software development industry. 1 academic hour.
What you will learn?
- Understands software complexity. Can grasp the significance of software in our everyday lives. Understands how the software development process works and is aware of common practices. Has learned the basic workflow sequence and activities for getting started in software development.
- Creates user stories. Is capable of independently developing test cases. Knows how to prioritize tasks based on importance.
- Tests websites using a black-box method. Evaluates software quality and identifies issues using various manual testing techniques.
- Creates bug reports. Uses software for process documentation and task management. Understands the software development process thoroughly and recognizes the differences in primary work methods, quickly integrating into a team's workflow.
- Can choose the appropriate testing type, evaluating the complexity and criticality of the system and selecting all necessary testing techniques.
- Tests websites and applications on both computers and mobile devices, with a good overview of the entire system and the real-world considerations.
- Uses GIT version control. Participates in the software development process, using the most commonly used solution for software versioning and for rolling out or rolling back changes.
- Records and repeats test cases. Familiar with tools that make it easy and efficient to reduce workload in tasks that require repetitive execution.
- Plans testing. Divides the entire workload into stages and allocates resources accordingly.
- Understands test management. Familiar with all aspects of software quality management and the responsibilities of those involved in it.
- Conducts static testing. Familiar with various methodologies for reviewing work documents and distinguishes between ways to review specific components.
- Performs database queries. For testing, it is a significant advantage for a tester to have the ability to get to the root causes, and since the main work for the client is with data, direct work with the database is the most effective. Acquires the skills necessary to work with data in databases.
- Makes API queries. Uses interfaces to retrieve data from the database, which is common practice for security reasons.
- Uses test management tools: Jira, TestRail, and Trello environments.