Test Automation Basics Flashcards
What is Test Automation?
The use of software to perform or support test activities, e.g., test management, test design, test execution and results checking.
What is Test Automation framework?
A tool that provides an environment for test automation. It usually includes a test harness and test libraries.
What is Test harness?
A test environment comprised of stubs and drivers needed to execute a test.
Where using Test Automation is effective?
~ Regression testing ~ Multi-environment testing ~ Configuration testing ~ Combinatorial testing ~ Unit testing ~ Some cases of integration testing ~ Basic security testing ~ Classic well-automated areas ~ Performance testing ~ Smoke for large systems ~ Applications without human interface ~ Technical and low-level operations ~ Long routine operations ~ Standard functionality
What the automation tool based on the Record and Playback Technology does?
~ Records all interactions with application under test
~ Presents the recording in some script language
~ Allows a tester to edit and improve the script
~ Executes the script and logs the results
Pros for using the Record and Playback technology
~ Easy to learn
~ Quick test skeleton creation
~ Auto-gathering of technical details
~ Routine actions auto-recording
Cons for using the Record and Playback technology
~ No “ifs”, “cycles”, “subroutines”
~ EVERY action is recorded
~ Hard coding
~ Meaningless variable names
What is a Selenium IDE?
An integrated development environment for Selenium scripts. It is implemented as a Chrome and Firefox extension, and allows you to record, edit and debug tests.
List main types of Selenium IDE commands
~ Actions
~ Accessors
~ Asserions
~ Flow operators
What do “Action” commands do?
Manipulate the state of the application (like “click this link” and “select that option”). If an action fails, or has an error, the execution of the current test is stopped.
What do “Accessors” commands do?
Examine the state of the application and store the results in variables, e.g. “storeTitle”. They are also used to automatically generate Assertions.
What do “Assertions” commands do?
Are like Accessors, but verify that the state of the application conforms to what is expected (e.g., “make sure the page title is X” and “verify that this checkbox is checked”).
What do “Flow operators” commands do?
Allow to use such common programming operators as “if”, “while”, etc.
“Assertions” consist mainly from two specific commands, “assert” and “verify”. Name the difference between them and where better to use one or another command.
When an “assert” fails, the test is aborted. Useful to check some major condition, failure of which leaves other actions meaningless.
When a “verify” fails, the test will continue execution, logging the failure. Useful to check multiple independent conditions.
What types of locators does the Selenium IDE supports?
~ Context-insensitive
~ Context-sensitive