What are GUI Acceptance Tests?
Introduction to Acceptance Testing
Overview of Acceptance Testing
- The session begins with an introduction to acceptance testing, which involves evaluating a system through its user interface.
- Two primary methods for conducting these tests are discussed: manual testing by a tester acting as a user and automated testing using pre-written programs.
Manual vs. Automated Testing
- In manual testing, the tester interacts with the system directly, entering information and observing outcomes to determine if they meet expectations.
- Automated testing allows for repeated execution of tests without additional costs after initial setup, although it requires upfront investment in writing test scripts.
Advantages of Automation
- Automating tests enables frequent execution (e.g., after each code commit), ensuring that new changes do not disrupt existing functionality.
- While creating automated tests can be time-consuming, their low execution cost makes them efficient for ongoing regression and continuous integration processes.
Challenges in Automated Testing
Implementation Difficulties
- Implementing automated tests can be challenging due to complex oracles that are easy for humans to validate but difficult to encode in software (e.g., image recognition).
- Manual testing has minimal creation costs since it derives from requirements but incurs high execution costs due to human involvement.
Human Factors in Manual Testing
- Human testers may overlook issues due to fatigue or boredom during repetitive tasks, highlighting the need for automation where feasible.
Practical Demonstration of Tests
Test Execution Example
- A practical demonstration shows automated tests being executed via a browser robot that inputs data into the system.
- The first test successfully registers a user; however, the second test fails because it attempts to register an already existing user with the same CPF number.
Test Results Analysis
Implementing Test Steps for Student Page Navigation
Overview of the Testing Process
- The initial step involves executing a specific code to navigate to the student page, requiring detailed implementation in a script file.
- The test identifies the name of the step as "at the student page," focusing on verifying if the system is correctly positioned on this page.
Browser Interaction and Navigation
- Tests function like automated robots that interact with the browser, directing it to a specified URL where the system is operational.
- After loading the main page, verification occurs by checking if the title matches expected criteria (e.g., "Tiago"), confirming successful navigation.
Element Identification and User Interface
- The next action requires identifying an HTML anchor element that links to another page, specifically one labeled "alunos" (students).
- This link leads to a section where new students can be registered or existing ones viewed; it’s crucial for navigating within the application interface.
Menu Options and System State Transition