Before continuing on our Manual & Automation Testing Interview series, one thing you might have noticed is that we don’t segregate questions and answers in categories like Manual Testing, Selenium, Mobile Testing or HPE UFT. The idea is to keep up with the changing times when the gap between Manual and Automation Testing is blurring, organizations are looking for resources with both Manual and Automation Testing knowledge. Let’s get started…
Manual & Automation Testing Interview series
The world is driven by beliefs. It may be in God or Technology. Over a period of time every society lay down a set of philosophies or values for better organization & operation. Similarly, any technology has its own fundamental principles which have been proven right as the time elapsed. ‘Software Testing’ is no different – it also has a set of 7 fundamental principles that are proven right over the time.
- Testing shows the presence of defects.
- Exhaustive Testing is not possible
- Early Testing
- Defect Clustering
- The Pesticide Paradox
- Testing is Context dependent
- Absence of errors fallacy
Question-22. Ever heard of the term ‘Pesticide Paradox’? What does it mean in Software Testing context?
If you keep running the same set of tests over and over again the software gets immune to testing, i.e. as the system evolves, many of the previously reported defects will have been fixed and the old test cases cannot find any new defects.
Question-23. Why it is recommended to have an independent Testing team? Can’t developers or business analysts test the application?
The importance of independence is unquestionable. Independence ensures that there will be no bias. Independence is a proven way to ensure quality. The solution, therefore, rests in having a completely independent team for testing the product.
Mobile Testing is completely different compared to Desktop Testing. If we understand the distinction and challenges of testing Mobile Apps, it will be a bit easier to tackle.
— Device & OS – Permutations & Combinations
— Design & Usability
— Complex User interaction
— Application types – Web, Native or Hybrid
— Emulators and Simulators
— Security and Privacy
— Networks and carriers
— Agile development
— Session management and interruptions
— Mobile-specific Non-functional testing
UFT action is a component in which you can write your code, i.e. code for a specific functionality. Scenario: Say you want to send a mail from Gmail & then logout. What would the steps be for this Test script?
- Login to Gmail
- Compose an Email
- Send Email
Keeping actions in mind, now our UFT Test script for above scenario will be like,
Call Action1: Login to Gmail
Call Action2: Compose an Email
Call Action3: Send Email
Call Action4: Logout
Today’s mobile applications deliver complex functionality on platforms that have limited resources for computing. Diversity presents unique challenges that require unique testing strategies.
— Device Fragmentation & Various OS Platforms
— Mobile App Types
— Mobile Network Operators
— Connection types
— Time to Market
— Test Automation & Variety of Tools
— Test Interfaces
— User Mobility
— App Localization / Internationalization
— Industry Standards
— Skilled QA Specialists
Question-27. What are the most common Mobile App errors or defects to look out for? Or rather to be tested first.
A mobile device performs a lot of functions simultaneously – connectivity, location, lighting, UX, Functions, Battery Use, Data Handling, Touch screen, Sensors, etc. To uncover the defects and the errors in mobile app a proper Test Strategy needs to be implemented with great precautions.
Selenium suite is comprised of 4 basic components – Selenium IDE, Selenium RC, WebDriver and Selenium Grid. In simple terms – WebDriver, the most powerful of all, is a tool for testing web applications across different browsers using different programming languages. WebDriver takes advantage of the browser’s native compatibility towards automation. With the increasing demand it has gained a large popularity, user base and has become by far one of the most extensively used open source automation testing tool.
Selenium WebDriver: makes direct calls to the browser using each browser’s native support for automation. I.e. As a tester you write the automation test script >> for each Selenium command, a HTTP request is created and sent to the browser WebDriver component >> The WebDriver uses a HTTP server for getting the HTTP requests >> the HTTP server determines the steps needed for implementing the Selenium command >> browser executes the HTTP request sent by the WebDriver & sends the results back to the HTTP server >> the HTTP server sends the status back to the automation script. Simple, right?
WebDriver supports diverse range of web browsers and their versions – Firefox, Internet Explorer, Chrome, Safari and HtmlUnit (headless browser, i.e. GUI-less mode). WebDriver also supports web based Mobile testing. Thus it provides AndroidDriver and IphoneDriver to back web based mobile testing.