“You can see a lot by just looking.”
(Yogi Berra)
Do I Need to Test the Automated Tests?
Automated software testing can be expressed in different forms in terms of objectives, approaches and implementation. But the main point is: automated tests are software modules that allow to verify the behavior of the application under test for compliance to requirements or providing enough information to carry out such verification (performance tests may content oneself with the giving out of statistics, which then analyzes the person).
The key point is that the automated tests - are essentially the same software as the application under test, which means that automated tests in the same way may contain errors of implementation. That is, it necessary to check its efficiency periodically or at least establish some means of control because the tests are not less sensitive to changes in the application under test than the other software modules that were affected during the changes.
In part, the probability of error in automated tests is reduced by the simplicity of tests. In particular, white-box tests in many cases represent a simple structure that call the module under test and catch exceptions and / or process the return code. That is, it largely fits into the template. Functional tests, in most cases represent a linear script.
How Do Errors Appear in Automated Tests?
Nevertheless, the automated tests may use assistive solutions and components: directly test engine, the additional functions / methods, additional functions and methods, as well as window declaration, if to start a conversation about GUI testing. All of this may one day fail due to changes in the application under test, the environment and other external factors. And it would be very useful to isolate the problem directly to the place where it had been originated.
Now examine what and how we can automatically test:
- Direct automated tests - dynamically these components are verified directly during the test runs that do not pick out testing automation solutions from the context of automated testing, for which the tests are designed. So the most effective way to test the automated tests - is to perform these automated tests.
- Utility classes / functions / methods - as such components represent a certain program code, so nothing prevents to apply the traditional practices of white-box testing.
- Window objects - this type of components is specific for automated testing, in particular for the GUI-level testing. Therefore, to test these components you should develop a workflow-script, which will affect all (or at least a simple majority) of the window objects.
How to Implement Testing of Automated Tests?
How to implement this? It is good to implement at the development stage. For example, in the development of helper classes for automated tests you can use the practice of TDD to control the quality of produced components. This will let to create a set of tests, which can then be run immediately before starting the main automated tests. This is unit-testing of automated solution.
For window objects, you can create a separate test (or set), which primarily pay attention to navigation (one of the most important parts for the stability of automated tests). In addition, verify that during tests desired windows open. And then you can verify that all declared elements of window are present. Moreover, it is done gradually, with the increasing descriptions of windows.
Example of Smoke Test in SilkTest
For example, you have the task of describing a window. Accordingly, after the first implementations of the description you should open a script that tests the declaration of windows, add a single workflow, which will open window under test, verify its existence, and then return the system to its original state. Also, to verify the existence of this window you can write the subsidiary functional, which recursively will ping all declared child elements of the test window and check for their existence. In particular, the implementation of such a function in SilkTest can look like this:

Such test that checks all the windows can then be used as a smoke test, and performed before starting the main package of automated tests to ensure that resources are adapted to the current version of the application under test.
All of the above-listed approaches show that the process of test automation in many ways similar to the process of development, at least at the stage of production, these processes are inherently identical. Respectively for automated testing are applicable practices used in the development, to improve the quality of software code.
Knowledge Center
-
QA Testing Materials
- How to Build Your Testing Reputation in Software Testing Company?
- Features of Performance Testing in the Management of E-Business
- “Watchful Waiting” in Testing Process
- 5-Step Metrics Program While Performing Software Testing
- What Kinds of Testing Tools Are Required for Conducting Software Testing?
- 5 Aspects of Software Testing
- Some Aspects of Using Frameworks in Software Testing
- Necessity of Using Performance Testing
- Why Mobile Application Testing Spins Up So Rapidly?
- Selection of Test Design Technique as a Step to Successful Software Testing
- Beta Testing of Mobile Applications: Myth or Reality?
- 2 Ways of Software Testing Performance Measurement
- Testing Tools: Pros and Cons
- Testing Tools: What to choose?
- What Is Common Between the Work at Software Testing Company and Different Kinds of Sport? Part II
- What Is Common Between the Work at Software Testing Company and Different Kinds of Sport? Part I
- With the Help of Software Testing Problems Can be Evaded
- How to Adapt Your Performance Testing to the Rapidly Changing Modern Software?
- How to Conduct Mobile Testing of Client Applications?
- Mobile Testing Overview: What is a AJAX Application and How to Test It?
- Tips on How to Unite Automated Testing with Mobile Application Testing
- Mobile Application Testing: How to Test Markup Applications?
- What Should We Focus on When Conducting Mobile Testing?
- Which Problems Can You Face When Conducting Mobile Testing?
- Unit Testing: Myth Busting
- 5 Tips on How to Get Educated in User-Centered Design
- 5 Tips on How to Assist User-Participants during Usability Testing
- How Many Types of Software Testing Do You Know? Part II
- How Many Types of Software Testing Do You Know? Part I
- Show all
- Self-Reporting as a Part of Usability Testing
- Types of Software Testing: Integration Testing
- Software Testing Types: Model-Based Testing
- Ways to Automate Performance Testing
- How to Economically Benefit from Usability Issues?
- Stages of Software Development
- Testing Your Product on Usability
- Training Real Professionals in Usability Testing
- Some Glimpses of Automated Testing
- Implementing UCD into Your Software Testing Company
- Portable Software Testing Laboratory. What Are Its Advantages?
- Tips on How to Arrange Software Testing at a User’s Site
- The Existing Standards of Software Testing
- Forced-Error Testing
- Software Testing Reports. Why Do We Need Them?
- The Arrangement of a Software Testing Room
- 5 Main Mistakes in Product Usability
- Questions Related to Software Testing Company Activities
- Some Facts about Software Testing, Quality Assurance and Quality Engineering
- Responsibilities of Software Tester
- How to Analyze a Bug?
- The Principles of Gray-Box Testing
- What are the Main Factors that Influence the Software Testing Project Price?
- How to Measure Quality? Estimating Bugs and Results of Their Fixing
- When are the Software Testing Activities to be Stopped?
- Frequently Asked Questions About Software Testing
- Some Facts about Security Testing
- Who is a Professional in Software Testing?
- Why Do We Need Multi-Platform Testing?
- How to Establish Good Communication between Software Tester and Management Team?
- An Art of Communication in Software Testing Project
- Building the Career as a Professional Software Tester
- Can Automated Testing Replace the Smart Software Tester?
- Applying Best Practices in Software Testing
- Making a Decision What Should be Automated
- Why Do We Need Automated Testing?
- What Is Scenario-Based Testing and When Should We Use It? Part II
- What Is Scenario-Based Testing and When Should We Use It? Part I
- The Basis Of Interaction Testing
- Software Testing Sub-Stages
- Finite-State Machines for Web Testing
- Software Testing With Different Types Of Checklists
- What Is Checklist-Based Testing?
- Main Software Testing Activities
- Users and Third-Party Testers In Software Projects
- Organization and Management of Software Testing Teams
- Software Test Implementation Measurements
- Why Is It Important to Have Testable Requirements?
- Test Suite Management
- Test Suite Preparation
- What Is The Difference Between Coverage-Based Testing And Usage-Based Statistical Testing
- Two Main Forms Of Stopping Software Testing
- The Meaning of Structural Testing In Software Project
- Major Activities And The Generic Testing Process
- Sub-Activities in Test Planning and Preparation
- Software Testing: Concepts, Issues And Techniques
- Human Efforts In Quality Assurance Activities. Part II
- Human Efforts In Quality Assurance Activities. Part I
- Forming a Quality Assurance Strategy
- Setting Software Quality Purposes
- What to Test and What Type of Faults Are Found?
- Verification and Conformance In Software Testing
- Validation and Failures In Software Testing
- Waterfall Process In the Quality Assurance Activities
- Operating with Pre-/Post-Release Software Bugs
- Software Bug Handling And Related Activities
- Software Bugs’ Averting Activities
- What Is Quality In Software Engineering?
- Software Bugs In The Context of Quality Assurance
- At What Defect Level Should We Stop Software Testing?
- When Can a Specific Testing Activity be Conducted?
- When Should We Do Backup and Recovery Testing?
- What Is Documentation Testing?
- Performance Testing And Different Test Types
- Test Documents In The Software Development Lifecycle
- Quality Cost Analysis: Main types of Costs Associated with Software Products
- What Is Defect Removal Efficiency In Software Testing?
- The Severity Ratings In Software Project
- Software Projects Analysis And Design
- Definition and Meaning of Exploratory Testing
- Definition and Meaning of Configuration Management. Part II
- Definition and Meaning of Configuration Management. Part I
- Design of Applications and Regression Testing
- Test Plan Documents Used in a Project
- Main Types Of Strategies For Rolling Out To The End Users
- What Does Testing Company Need From User To Start Proper Testing?
- Start Software Testing On Early Stages. How Does This Affect Cost?
- User Acceptance Testing as One of the Main Service Models in Software Testing Company. Part II
- User Acceptance Testing as One of the Main Service Models in Software Testing Company. Part I
- 5 Types of Software Testing Teams
- Software Test Plan Process
- Incident Management in Software Testing
- The Main Goals of Software Test Plan
- Test Planning and Development Documentation
- The Theory of Software Testing. Testing the Specifications
- Test Execution Documentation
- Definition of Beta Testing
- Performance-Based Decisions: Deciding When and What to Test. Part II
- Performance-Based Decisions: Deciding When and What to Test. Part I
- Error Guessing in Software Testing
- V-MODEL Descriptions. Responsibility of QA Managers and Software Testers
- V-MODEL Descriptions. Responsibility of Developers, Project Managers and Business Analyst
- Fundamental Test Process
- The V-Model Framework
- Risk Management In Software Testing
- Oracle. Definition and Meaning
- Psychology In Software Testing
- How Much Does Quality Cost? Part II
- How Much Does Quality Cost? Part I
- Economics of Testing
- Software Bug's Life Cycle
- When Should You Test?
- Completeness of Software Testing. The Criteria for White Box. Part II
- Completeness of Software Testing. The Criteria for White Box. Part I
- Completeness of Software Testing. The Criteria for Black Box
- Completeness of Software Testing. Introduction
- Practice of Automated Functional Testing in Microsoft Visual Studio
- Estimation of Number of Errors in the Program. Mills Model. Part II
- Estimation of Number of Errors in the Program. Mills Model. Part I
- Ad Hoc and Exploratory. What is the Difference Between Theory and Practice?
- Modern Methods of SQL Injection Attacks: Identification
- Testing of Mobile Applications
- Complete Software Testing Outsourcing. Part II
- Complete Software Testing Outsourcing. Part I
- The Rapid Expansion of the Company's Resources as the Goal of Outsourcing
- Independent Quality Audit. Part III
- Independent Quality Audit. Part II
- Independent Quality Audit. Part I
- Testing of Existing Software Products
- Overview of Automated Testing Tools
- Independent Software Testing
- Necessary Tools to Test Linux
- Basics of Automated Functional Testing
- Product Life Cycle and Testing
- Models of Organization of Independent Testing
- Tools for Testing From HP
- Tools for Testing From the IBM Rational
- What Do We Need to Know to Become an Expert in Performance Testing?
- How to Сontrol Test Data
- The Basic Load Testing Tools
- The Importance of Software Testing Automation
- Selenium: Subsidiary Tools
- Attacks on Unprotected Login Forms
- 10 Usability Heuristics
- The Introduction to JMeter
- Autotests: Myths And Reality
- Evaluation of software reliability
- Developers Don’t Like Testers, Because They Don’t Know How to Use Them
- 15 Important Theses About Usability Testing
- Load Testing of the Projects
- Pylot - Tool For Load Testing of Web Applications
- Key Terms of Load Testing
- An Example of System Requirements
- Life Duration of Software Bug
- 4 Attributes of Qualitative and Well-Written Test-Case
- Superstitions in Software Testing
- Fundamentals of Mobile Application Testing
- 3 Tips to Reduce Mobile Application Testing Efforts
- Project Applications that are Easy to Test
- Software Testing Checklist – 5 Steps to Success
- Top 10 Critical Software Bugs of 2010 Year
- 3 Types of Mobile Wireless Applications
- What Is A Mobile App and Why Do I Want One?
- What is Fuzz Testing?
- Mutation Testing – Way to Verify Your QA Team
- Effective Use Case Example
- Well-Performing Application is Goal of Performance Testing
- The Parable of the Pyramids in a New Way
- Pareto Principle in Software Testing
- Who is a Good Tester?
- Has the Software Tester Right to Make Mistakes?
- 5 Tips to Get Started in Software Testing
- 3 Tools to Test UI Mockups Compliance
- 5 Simple Ways to Reproduce Not Reproducible Bug
- 4 Best Add-ons to Identify Selenium Locators
- Running Selenium Server Using Custom Firefox Profile
- 3 Goals of Usability Testing
- 3 Forms of Acceptance Testing and their Application
- Test Strategies for Smartphones and Mobile Devices
- Embedded Software Testing
- Testing Techniques for Mobile Applications
- Tutorial Database Testing using SQL
- 12 Best Cross Browser Testing Tools to Ease Your Browser Compatibility Testing Efforts
- 6 Tips to Get Started with Automated Testing
- Do I Need to Test the Automated Tests?
- Technical Terms Used in Testing World
- ISTQB Advanced Practioner Level Practice Exam 1
- Mobile Usability Testing: Problems and Solutions
- Does any one know a good open source tool for Test Management and Bug Tracking?
- Software Quality Metrics
- How to Make Adhoc Testing More Effective
- Test Plan for a Mobile Applications
- 10 reasons why you are not getting job in software testing
- Top 20 Practical Software Testing Tips
- Wasting Your Time By Not Writing Tests
- Test Checklist For Mobile Applications
- Sample Deliverables
- Software Testing Glossary