Thursday, 6 July 2017

Experienced Testing Interview Q&A – Part 2


1) What is Exploratory Testing and when should it be performed?
The definition of Exploratory Testing is “simultaneous test design and execution” against an application. This means that the tester uses his domain knowledge and testing experience to predict where and under what conditions the system might behave unexpectedly. As the tester starts exploring the system, new test design ideas are thought of on the fly and executed against the software under test.
On an exploratory testing session, the tester executes a chain of actions against the system, each action depends on the result of the previous action, hence the outcome of the result of the actions could influence what the tester does next, therefore the test sessions are not identical.
This is in contrast to Scripted Testing where tests are designed beforehand using the requirements or design documents, usually before the system is ready and execute those exact same steps against the system in another time.
Exploratory Testing is usually performed as the product is evolving (agile) or as a final check before the software is released. It is a complimentary activity to automated regression testing.

=================================================================================================================

2) What Test Techniques are there and what is their purpose ?
Test Techniques are primarily used for two purposes:a) To help identify defects,
b) To reduce the number of test cases.a)Equivalence partitioning is used to reduce number of test cases by identifying different sets of data that are not the same and only executing one test from each set of data
b)Boundary Value Analysis is used to check the behavior of the system at the boundaries of allowed data.
c)State Transition Testingg is used to validate allowed and disallowed states and transitions from one state to another by various input data
d)Pair-wise or All Pairs Testing is a very powerful test technique and is mainly used to reduce the number of test cases while increasing the coverage of feature combinations.
=================================================================================================================

3)How do you test the login feature of a web application?
Possible answer to this questions :a) Sign in with valid login, Close browser and reopen and see whether you are still logged in or not.
b) Session management is important – how do we keep track of logged in users, is it via cookies or web sessions?
c)Sign in, then logout and then go back to the login page to see if you are truly logged out.
d) Login, then go back to the same page, do you see the login screen again?
e) Sign in from one browser, then open another browser to see if you need to sign in again?
f) Login, change password, and then logout, then see if you can login again with the old password.
=================================================================================================================

4)How do You Verify the Results of Your Search on Search Results Page?
At first instance, we need to know where the data is coming from. Are they coming from a database? Or some XML files from 3rd party websites?
Once we have this information, we can start comparing the results we see on the result page with the results from the source, e.g. database.
Another option is to use mocks to generate the data that we need so we can fully control the data that we see on the search results page.
=================================================================================================================

5) How is Web Application Testing different to Desktop Application Testing?
Web Applications are typically hosted on a server which we can access via a web browser, where as desktop applications are installed on the client’s machine.
This setup opens a whole new testing challenges: Performance and Security testing become important as the application is open to a wide audience. Good design and usability are also important.
Other important factors that come to play are testing on multiple browsers, multiple devices, redirection and responsiveness.
Also we should not forget about Javascript, CSS, Cookies, W3C standards, traffic monitoring, third party tags testing, all of which are important in Web Application Testing.
=================================================================================================================

6) What are the HTTP response code blocks and what do they mean?
After a request is sent to a server, there are different possible response codes which can be returned by the server:
The blocks are:
a)2xx for Success, the most common one is 200 which means “OK”.
b)3xx for Redirection, the most common ones are 301 and 303 which mean “Permanent Redirect” and “Redirect for Undefined Reason”, respectively.
c)4xx for Application Error, the most common ones are 403 and 404 which mean “Forbidden” and “Not Found”, respectively.
d)5xx for Server Error, the most common one is 500 which means “Server Error”.
=================================================================================================================

7)How would you Test a Service Oriented Architecture (SOA) Web Application?
The testing of web applications that communicate with a web service can be broken down in two parts:

a) Testing of the Web Service in isolation. Each web service has one or more functions which can be tested by sending appropriate requests and analyzing the response and verifying correct data is returned in the response. We can use tools such as SoapUI to test a Soap Service or Rest Client to test a RESTful web service.
b) Integration Testing of Web Service with the Front End. The integration testing is also important as it can highlight issues with data in the request and display of the response.
The reason for this separation is to be able to identify issues in the web service much quicker and easier to debug.
=================================================================================================================

8)Suppose you have a Login form which is connected to an Authentication Web Service. What tests would you perform at which layer?
a) All the input/output validation should be tested at the API layer calling the Authentication Web Service. Tests such as valid/invalid username/password combinations as well as verifying correct error messages.
b) The location of the display of error messages, their color and font should be tested at login web page. Also Javascript and Cookies tests if applicable needs to be tested at front-end login page.
=================================================================================================================

9) There are many ways to test a website and there could be lots of test cases to execute, how can you make sure the web application is fit for release?
a) We can Automate majority of test cases, but most importantly we can use test techniques such as Pair-wise testing to reduce combinations and/or model based testing to plan user journeys to ensure major functionality of web application works.
b) We can also use paralytics to gain insight into what users do on the website, which page is most popular and which feature is most used by users.
=================================================================================================================

10) What is a Web Service ?
A Web Service is a program that can be accessed by other programs over the web (http).For example, let’s assume that you have a function that prints a text in HTML format. The application’s target is the web browser which renders the output and a human being can easily read the text on the page.
On the other hand, a web service’s target audience is other programs or other web services which consume the data served by the web service. The output is normally in a standard language which can be understood by other programs. Take the above example, if the web service outputs the text in say XML format, then other web services which can read or understand XML, can use the output.
The main advantage of a Web Service is that applications can be written in any language, but they can communicate and exchange data with each other through a Web Service. Software applications written in various programming languages and running on various platforms can use web services to exchange data over the internet (HTTP). This interoperability (e.g., between Java and Python, or Windows and Linux applications) is due to the use of open standards (XML, SOAP, HTTP).
a)SOAP (Simple Object Access Protocol)
b)UDDI (Universal Description, Discovery and Integration)
c)WSDL (Web Services Description Language)

1 comment:

  1. Software testing training in Jaipur www.qaguides.com
    Selenium training in jaipur www.qaguides.com
    software testing course in jaipur www.qaguides.com
    software testing training institute in jaipur www.qaguides.com
    selenium training in jaipur www.qaguides.com
    DevOps training in Jaipur www.qaguides.com
    Devops classes in Jaipur www.qaguides.com
    Python training in Jaipur www.qaguides.com
    python coaching in jaipur www.qaguides.com
    python course in jaipur www.qaguides.com
    python classes in jaipur www.qaguides.com
    best python training in jaipur www.qaguides.com
    python institute in jaipur www.qaguides.com
    best python coaching in jaipur www.qaguides.com
    best java training institute in jaipur www.qaguides.com
    java training institute in jaipur www,qaguides.com
    java classes in jaipur www.qaguides.com
    Java training in Jaipur www.qaguides.com
    Summer Internship Training Jaipur www.qaguides.com
    Summer Training In Jaipur www.qaguides.com
    MCA Internship in Jaipur www.qaguides.com
    Internship in Jaipur www.qaguides.com
    Jmeter Training in jaipur www.qaguides.com
    Salesforce Training in jaipur www.qaguides.com
    Salesforce classes in jaipur www.qaguides.com
    Appium Training in jaipur www.qaguides.com
    Appium classes in jaipur www.qaguides.com
    Digital Marketing training in Jaipur www.qaguides.com
    Digital Marketing classes in Jaipur www.qaguides.com

    ReplyDelete