Interview Questions & Answers

Software Testing and Agile Interview Questions And Answers | 81 – 90

There is no such statement as ‘I am now prepared for the interview‘. When facing a Testing interview no matter how many interview questions and answers you have gone through – there is always more to read 🙂 Continuing on our Interview questions series, let’s see some more interesting FAQs…

Flashback: Software Testing Interview Questions And Answers | 71 – 80

Software Testing and Agile Interview questions and answers

Question-81. What do you mean by different levels of Software Testing?

Software Testing Levels is nothing but different stages of software testing. How do you build anything? Generally a system comprises of multiple integrated components. First create all the components >> Join all the components to build a system >> Once the system is up & running, deliver it to the client. For an effective delivery, it is important to test the system at each level of development, i.e. during development, individual components, integration, complete system, integrated systems, etc. Hope you got an idea what Software Testing Levels is all about!

As a Test engineer, it’s important to understand the basic difference between all the Software Testing levels. Additionally it’s more important to have a diverse experience working on different Software Testing Levels – after all ‘Experience’ is the best teacher!

Question-82. What do you mean by Test Data?

How do you test a text-box? Yeah! By entering & submitting different text. The permutations & combinations of this ‘text’ used for testing purpose is known as ‘Test Data’, i.e. data used for testing purpose. For testing a text-box we will first prepare the P&C of test data – numeric, alphabets, alphanumeric, max length, special characters, etc. As the application functionalities grow, so does the corresponding Test data to-be-used for testing. It may be any kind of input to the application-under-test (User credentials, Environmental data, Setup data, Input / Output data, Uploaded files, Database tables, Transitional data, etc.)

Question-83. Why or when to prefer Waterfall methodology over Agile?

The waterfall methodology provides a structured approach; the model itself progresses linearly through discrete, easily understandable and explainable phases and thus is easy to understand; it also provides easily identifiable milestones in the development process. It is perhaps for this reason that the waterfall methodology is used as a beginning example of a development model in many software engineering texts and courses.

  • Simple and easy to understand and implement.
  • Easy to manage due to the rigidity of the model – each phase has specific deliverables and a review process.
  • Suited to projects where requirements and scope are very well documented and fixed, the product itself is firm and stable, and the technology is clearly understood.
  • The entry and exit criteria are well defined, so it easy and systematic to proceed with quality.
  • Results are well documented including technical documentation.
  • Easier to measure progress by reference to clearly defined milestones.
  • Quality is the focus from the first phase itself since rework is costly in subsequent phases.
  • Testing is easier as it can be done with reference to the scenarios defined based on the functional specification.
  • The total cost of the project can be accurately estimated after the requirements have been defined.

Question-84. What are the different Test Levels and what all levels you have worked on?

Software Testing Levels are generally defined by the scope (or objective) and timelines (as the project progress). There are generally five recognized Test levels:

  • Unit testing (Developer)
  • Component testing (QA)
  • Integration testing (QA)
  • System testing (QA)
  • Acceptance testing (Business Users)

Question-85. What do you mean by HTML Elements & corresponding Attributes?

HyperText Markup Language (HTML) is the standard markup language for creating web pages and web applications. With Cascading Style Sheets (CSS), and JavaScript, it forms a triad of cornerstone technologies for the World Wide Web. Web browsers receive HTML documents from a web server or from local storage and render them into multimedia web pages. HTML describes the structure of a web page semantically and originally included cues for the appearance of the document.

HTML Elements – individual component of an HTML document or web page. HTML is composed of a tree of HTML elements and other nodes, such as text nodes. Each element can have HTML attributes specified. Elements can also have content, including other elements and text. Many HTML elements represent semantics, or meaning. For example, the title element represents the title of the document. These are indicated in the document by HTML tags, enclosed in angle brackets thus: <p>, indicated by a pair of tags: a “start tag” <p> and “end tag” </p>.

E.g. Header & Title of the HTML document: <head>  <title>The Title</title></head>

HTML Elements Attributes – a modifier of an HTML element type. An attribute either modifies the default functionality of an element type or provides functionality to certain element types unable to function correctly without them. In HTML syntax, an attribute is added to an HTML start tag. These indicate other information, such as identifiers for sections within the document, identifiers used to bind style information to the presentation of the document, and for some tags such as the <img> used to embed images, the reference to the image resource. Most of the attributes of an element are name-value pairs, separated by “=” and written within the start tag of an element after the element’s name: <tag attribute1=”value1″ attribute2=”value2″>”content”</tag>.

E.g. <a href=“http://www.softwaretestingstudio.com/”>A link to Software Testing Studio</a>

Question-86. When Waterfall methodology doesn’t fir? Or when to prefer Agile?

What if a client doesn’t exactly know the requirements before they see working software? What if client wants certain changes to be incorporated at the end of release? After all, to stay relevant, you need to readjust. You need to be swift & responsive to the client demands, changing technology and flexible workplace. Since waterfall is a rigid model with phased approach, it is not at all easy to incorporate any changes in the current release. And next release would be too late for some clients. What to do then? Simple! As in life – Develop >> Review >> Feedback >> Change >> Adjust >> Next development. In response to the perceived shortcomings with the pure waterfall methodology, modified waterfall models and finally Agile was introduced.

  • Requirements are not fixed (moderate to high risk of changing) and Client can propose few changes during development – it is very difficult to go against the flow and change something in waterfall.
  • Client wants a product demo as soon as possible and then decide on the future course of action. In waterfall, delivery of the final product is late and there is no prototype which can be demonstrated intermediately.
  • Actual Testing starts only after development is complete, so more chances of late defect identification & rework.
  • Client wants flexibility with the requirements and product design.
  • When client doesn’t want the risk & uncertainty of what will be delivered at the end of the release.
  • Since there is no prototype, a project can often take substantially longer to deliver than when developed with an iterative methodology.

Question-87. How do you launch a browser using Selenium?

package learnautomation;

import org.openqa.selenium.chrome.ChromeDriver;

public class LaunchChrome {

      public static void main(String[] args) {

            System.setProperty(“webdriver.chrome.driver”, “Path to your chromedriver.exe”);

            ChromeDriver driver=new ChromeDriver();

            driver.get(“http://www.gmail.com”);

            System.out.println(“Test script executed successfully.”);

      }

}

Question-88. Why do we use different Test Data? Or What is the importance of Test Data in Software Testing?

Say you have tested the textbox (Passport#) functionality with above test data combinations & it is working fine. The build is deployed for UAT or to production environment. A business user fills all the form details & click on submit >> Blank screen!

Wait a minute! Everything was tested completely then why the blank screen? The user forgot to enter the Passport# and submitted the form. QA team tested all the combinations EXCEPT ‘Blank’. The result – End-user trust in the application is impacted. And it is exaggerated if it’s a critical application.

Carefully prepared Test data is an important concept for successful Software Testing. Absent, obsolete or wrong test data might result in unreliable test results – a missed or an invalid defect. Depending on the Test data used, testers can verify the expected results and the software behavior in case of invalid input data (test the ability of the application to respond to unusual, extreme, exceptional, or unexpected input). That’s why never forget the importance of Test Data Management – even after thorough testing, you cannot justify a missed defect owing to improper or lack of Test Data. Thus always have the Test Data prepared before you start actual Test execution.

Question-89. What is Scrum methodology in Agile?

The scrum methodology is an iterative and incremental agile software development framework for managing product development. It’s one of the leading agile development methodology – a feedback-driven empirical approach which is used for complex work where more is unknown than is known and predictions have little value given a high rate of change and uncertainty. With scrum methodology, the product is built in a series of fixed-length iterations called sprints that give teams a framework for shipping software on a regular cadence. A Scrum process is distinguished from other agile processes by specific concepts and practices, divided into the three categories of Roles, Events (ceremonies) and Artifacts.

Question-90. Does agile mean project is following scrum methodology?

Agile methodology is a group of different software development methodologies based on iterative and incremental approach. All agile methods, including Scrum, emphasize teamwork, frequent deliveries of working software, close customer collaboration, and the ability to respond quickly to change. The Agile-scrum methodology is just one of the most popular frameworks for implementing agile. So popular, in fact, that many people think scrum and agile are the same thing. They’re not!

Leave a Reply

Your email address will not be published. Required fields are marked *