Lightning Talks by Globant - Automation (This app runs by itself )
•Download as PPTX, PDF•
1 like•108 views
When you add new features to your application a lot of things can happen. Do you believe that the app is able to test itself by using automation? Just imagine testing everything manually due to that change. Do you know how many people will be needed to complete this process? The power of automated testing in the development lifecycle allows us things such as scheduling, and executing tests at any time with a big scope on thousands of mobile devices, websites and multiple browsers simultaneously making sure everything is working as expected.
Report
Share
Report
Share
1 of 27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
More Related Content
Lightning Talks by Globant - Automation (This app runs by itself )
2. Is the process of operating a system or
component to evaluate specific aspects
under specific conditions, observing and
registering the results.
The process of executing a program
with the intention of certifying its
quality.
TESTING PROCESS
Testing is the art of destroying
something constructively
3. Why is it
necessary?
Because errors exist...and humans **** up things. Testing
helps us to:
Ensures product fits customer's requirements
Makes sure the code is reliable, helps improve developers
knowledge/skills and overall product quality
Reduce defects that can potentially reach Production
environments
Redefine the way things are done and how they work
Set projects up to success
As time passes, the cost of fixing a defect increases.
4. Approach Purpose Pros Cons
Black Box Tests what the software should do
Based on the module’s definitions and
specifications
Does not care about the program’s internals
Functional test, produced by data, inputs and
outputs
Unbiased
User based testing
Requirement
validation approach
Testing each/every input is unrealistic.
Insufficient time. Many paths go
untested
Hard to evaluate how much has been
tested
Suites grow fast. High maintenance of
automated tests
Test redundancy
White
Box
Tests what the software does
Test cases are designed considering the
software’s internal structure
Harder to validate requirements
Development skills needed
Cannot detect absence of functionality
or misinterpretations
Positive Verifies the ability of the system to implement a solution to the business needs under normal conditions
Negative Verifies the ability of the system to detect, document and resolve user errors or any other condition not
considered normal
Testing approaches
5. Generally described within the functional requirements
specification
Refers mostly to “what the system does”
These tests belong to the “Black Box” category
Smoke testing: Refers to the first tests that are executed to provide quick feedback to determine if system
under test is stable and won’t fail drastically
Sanity testing: Refers to the suite of tests that is executed to verify the main functions of a system are
working without errors to determine if it is reasonable to continue with further (more detailed) tests
Regression testing: Consist in testing a system after a modification has taken place to verify that no new
defects have been introduced or affected the previous correct functionality
FUNCTIONAL TESTING TYPES
7. Automation Engineering aims to improve productivity and quality of repetitive tasks that are normally
tackled by people.
Increased throughput or productivity.
Improved quality or increased predictability of quality.
Improved robustness (consistency), of processes or product
WHY DO WE AUTOMATE?
8. Faster time to market
Reduced cost of failure
Leverage
Cumulative coverage
BENEFITS
9. When is automating a
good idea?
Application stable
Tests that use multiple data values for the same cases
Tests that require detailed information about the internal state of the system (SQL, GUI, etc)
Tests run in several environments)
10. When is automating not a good idea?
Not final version of the app or systems in beta phase
Tests that will be run only once
Tests with little predictable results
Unstable applications
11. MANUAL
Manual testing vs Automated
testing
Success of the expertise of the performer
Difficult to document
Difficult to keep updated
Automated
The result does not depend on the performer
Self-documented
Auto-updatable if there are changes in the application
12. Record and playback
Data driven
Keyword driven
BDD and Hybrid
Selenium based frameworks. Do you want reinvent the wheel?
Generations of test
automation frameworks
14. Data Driven Testing Framework helps the user segregate the test script logic and the test data from each
other
External data from databases, csv, text files
Data driven
15. Common functions to perform actions
keywords are stored in a step-by-step fashion with an associated object.
Object mapping
More in-depth programming knowledge
Keyword driven
16. Some of the top recognised automation QA engineers decided to crate frameworks “core” and share it with
the rest of the world
Much better to base your hybrid framework on them then reinventing the wheel.
Barely support
@Test
public void userCanLoginByUsername() {
open("/login");
$(By.name("user.name")).setValue("johny");
$("#submit").click();
$(".loading_progress").should(disappear); // Waits until element disappears
$("#username").shouldHave(text("Hello, Johny!")); // Waits until element gets text
}
Selenium based frameworks
17. Behavior Driven Development frameworks allow automation of functional validations in easily readable and
understandable format to Business Analysts, Developers, Testers, etc.
Combination of one or more than one above mentioned.
Users don’t necessarily need to be acquainted with programming.
Adapted to get the best results
Hybrid, the most popular approach nowadays
BDD and Hybrids frameworks
19. Group of libraries that define coding standard , concepts, processes to support automated testing. So we
can follow these guidelines while automating application to take advantages of various productive results.
Reuse, coding faster...
What is an Automation
framework
23. The page object is a design pattern for enhancing test maintenance and reducing code duplication
Page Object Model
Clean separation between test code and page specific code such as locators and layout.
Providing higher-level operations than the exposure of elements: for example, filling a form with a single
method that contains default values for most of the inputs.
It improves the readability and allows us to create interactive documentation
POM creates our testing code maintainable, reusable.
24. The PageFactory Class in Selenium is an extension to the Page Object design pattern. It is used to initialize
the elements of the Page Object or instantiate the Page Objects itself
Page Factory
we use annotations @FindBy to find WebElement.
We use initElements method to initialize web elements