ISTQB Advanced Level paths in Testing Fundamentals - Build an Automation Script
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC class ISTQBAdvancedLevelPage: def __init__(self, driver): self.driver = driver self.wait = WebDriverWait(driver, 10) def open(self, url): self.driver.get(url) def click_test_analyst(self): link = self.wait.until(EC.element_to_be_clickable((By.LINK_TEXT, 'Test Analyst'))) link.click() def click_test_manager(self): link = self.wait.until(EC.element_to_be_clickable((By.LINK_TEXT, 'Test Manager'))) link.click() def click_technical_test_analyst(self): link = self.wait.until(EC.element_to_be_clickable((By.LINK_TEXT, 'Technical Test Analyst'))) link.click() def is_on_test_analyst_page(self): return 'test-analyst' in self.driver.current_url and self.wait.until( EC.presence_of_element_located((By.TAG_NAME, 'h1'))).text.lower().find('test analyst') != -1 def is_on_test_manager_page(self): return 'test-manager' in self.driver.current_url and self.wait.until( EC.presence_of_element_located((By.TAG_NAME, 'h1'))).text.lower().find('test manager') != -1 def is_on_technical_test_analyst_page(self): return 'technical-test-analyst' in self.driver.current_url and self.wait.until( EC.presence_of_element_located((By.TAG_NAME, 'h1'))).text.lower().find('technical test analyst') != -1 def navigate_back(self): self.driver.back() def test_istqb_advanced_level_paths(): driver = webdriver.Chrome() page = ISTQBAdvancedLevelPage(driver) try: page.open('https://www.istqb.org/certification-path.html') page.click_test_analyst() assert page.is_on_test_analyst_page(), 'Failed to load Test Analyst path page' page.navigate_back() page.click_test_manager() assert page.is_on_test_manager_page(), 'Failed to load Test Manager path page' page.navigate_back() page.click_technical_test_analyst() assert page.is_on_technical_test_analyst_page(), 'Failed to load Technical Test Analyst path page' finally: driver.quit() if __name__ == '__main__': test_istqb_advanced_level_paths()
This test script uses Selenium WebDriver with Python to automate navigation through the ISTQB Advanced Level certification paths.
The ISTQBAdvancedLevelPage class models the page and provides methods to click each certification path link and verify the page loaded by checking the URL and page heading.
Explicit waits ensure elements are clickable or present before interacting or asserting, avoiding flaky tests.
The test function opens the certification paths page, clicks each Advanced Level path link, verifies the correct page loads, then navigates back to repeat for the next path.
Assertions include clear messages to help identify failures.
The driver is properly closed in a finally block to clean up after the test.
Now add data-driven testing with 3 different certification path links and their expected URL parts
Practice
Solution
Step 1: Recall the three ISTQB Advanced Level paths
The three main paths are Test Analyst, Test Manager, and Technical Test Analyst.Step 2: Identify the option not in the list
Automation Engineer is not one of the three main ISTQB Advanced Level paths.Final Answer:
Automation Engineer -> Option DQuick Check:
Paths = Test Analyst, Test Manager, Technical Test Analyst [OK]
- Confusing Automation Engineer as an ISTQB path
- Mixing Foundation Level roles with Advanced Level
- Assuming more than three main paths exist
Solution
Step 1: Understand the role of each path
Test Manager is responsible for planning, monitoring, and controlling test activities and teams.Step 2: Match the role to the correct path
Since managing test activities and teams is the focus, the correct path is Test Manager.Final Answer:
Test Manager -> Option AQuick Check:
Management role = Test Manager [OK]
- Confusing Test Analyst with management role
- Selecting Technical Test Analyst for management tasks
- Assuming Automation Engineer is an ISTQB path
Solution
Step 1: Identify the specialization focus
The tester wants to specialize in technical skills like automation and performance testing.Step 2: Match specialization to ISTQB path
The Technical Test Analyst path focuses on technical testing skills including automation and performance testing.Final Answer:
Technical Test Analyst -> Option BQuick Check:
Technical skills = Technical Test Analyst [OK]
- Choosing Test Analyst for technical specialization
- Confusing Quality Assurance Specialist as an ISTQB path
- Selecting Test Manager for technical skills
Solution
Step 1: Clarify the Test Analyst role
Test Analysts focus on designing, analyzing, and executing tests, not on managing teams.Step 2: Identify the misunderstanding
The error is thinking Test Analysts manage teams, which is actually the Test Manager's role.Final Answer:
Test Analyst focuses on designing and analyzing tests, not managing teams. -> Option AQuick Check:
Management role ≠ Test Analyst [OK]
- Confusing Test Analyst with Test Manager
- Assuming Test Analyst handles automation scripting
- Believing Test Analyst manages budgets
Solution
Step 1: Recall the official ISTQB Advanced Level paths
The three official paths are Test Analyst, Test Manager, and Technical Test Analyst.Step 2: Check which option includes all three paths
Test Analyst, Test Manager, Technical Test Analyst includes all three official paths, covering the full Advanced Level spectrum.Final Answer:
Test Analyst, Test Manager, Technical Test Analyst -> Option CQuick Check:
All paths included = Test Analyst, Test Manager, Technical Test Analyst [OK]
- Including non-ISTQB roles like Automation Engineer or Software Developer
- Missing one of the three official paths
- Confusing Quality Assurance Specialist with ISTQB paths
Ready to prove it?
Pass the test and this pattern moves unknown
