How does WATIR work?

Watir will drive web applications that are served up as HTML pages in a web browser. Watir will not work with ActiveX plugin components, Java Applets, Macromedia Flash, or other plugin applications. To determine whether Watir can be used to automate a part of a web application, right click on the object and see if the View Source menu option is available. If you can view the HTML source, that object can be automated using Watir.

What is WATIR?

“Watir” stands for “Web Application Testing in Ruby”. Watir is an automated test tool which uses the Ruby scripting language to drive the Internet Explorer web browser. Watir is a toolkit for automated tests to be developed and run against a web browser.

Visual Studio (VSTS) Automation Testing Tool

VS Test Types: VS 2010 testing tools provide several test types that can be used for specific software testing purposes. Custom Test Types can also be created to meet other testing needs.  VS 2010 supports the following test types “out of the box”:

  • Unit Tests
    • §  Unit tests give developers and testers a quick way to check for logic errors in the methods of classes in C#, Visual Basic .NET, and C++ projects. Unit tests allow the developer to assess the quality of their own code and also provide a security mechanism to reduce regressions when adding new functionality or changing existing functionality (such as when refactoring). An additional feature of Unit Tests is that they can be re-used within Load/Performance tests, providing broad, flexible support for application performance testing.
  •  Web Tests
    • §  A Web Performance test (previously simply called a Web test in VSTS 2005/2008) consists of a series of HTTP requests. Web tests work at the protocol layer by issuing HTTP requests. Web tests do not run JavaScript. However, you can simulate JavaScript actions at runtime by using Web test plug-ins, Web test request plug-ins, extraction rules, or coded Web tests. Web tests are used to test the functionality of Web applications and to test Web applications under load. Web tests are used both in performance tests and stress tests.  You can create Web tests by recording your activities in a browser session.  You can also build Web tests manually by using the Web Test Editor.
  •  Load Tests
    • §  The primary goal of a load test is to simulate many users accessing a server at the same time. When you add Web tests to a load test, you simulate multiple users opening simultaneous connections to a server and making multiple HTTP requests. You can set properties on load tests that broadly apply to the individual Web tests. When you add unit tests to a load test, you exercise the performance of non-Web based server components. An example application of a unit test under load is to test data access model components. Load tests can be used with a set of computers known as a Test Environment (aka Test Rig), which consists of agents and a controller.
  • Coded UI Tests
    • §  Coded UI tests are automated tests of the user interface. These tests provide functional testing of the user interface and validation of user interface controls. Automated UI tests enable you to test to ensure the user interface is functioning correctly. They are quicker to run than manual tests thus can be run more frequently.  A key advantage to these tests is that they use .Net languages (code is generated for C# and VB.Net) against a .Net API, thus organizations can use/re-use familiar skills and existing code to test their apps. This also results in the test team having interchangeable skills with the development team.
  • Manual Tests
    • §  In VS 2005/2008 manual tests are usually in the form of a Word document, in VS2010 this format is deprecated and is replaced by the new Work Item based Test Case already discussed.
  • Generic Tests
    • §  You use generic tests to wrap external programs and tests that were not originally developed for use in the Visual Studio Test Tools.  After you have done this, the generic test is treated by the test engine as any other test type. That is, you can work with generic tests using the Visual Studio Test Tools windows. For example, you can run generic tests from the Test View window and the Test List Editor and you can obtain and publish results from generic tests as from other tests.
  • Ordered Tests
    • §  An ordered test contains other tests that are meant to be run in a specified order. An ordered test appears as a single test in the Test List Editor and the Test View window. Its results appear in a single row in the Test Results window, but you can obtain individual results for each test that was run as a part of the ordered test.

What is QTP?

QTP stands for Quick Test Professional. QTP is the flagship functional automation testing tool from Mercury Interactive now acquired by HP. It is also called as HP Functional Test

Features of QTP:

  • It is an icon based tool, which automates the functional & regression testing of an application
  • QTP is easier to use and implement for both technical & non technical testers in comparison to other functional testing tools available.
  • Quick Test  is the market leader in Functional Automation Tool with over 50% market share
  • QTP’s Scripting Language is VB Script which is easy to use , understand and program
  • Quick Test Professional  enables Business Process Testing (BPT)
  • Supports large pool of  software development environments like SAP , Web , Oracle etc.

W3C Quality Assurance Automation Testing Tool

W3C Quality Assurance Automation Testing Tool was very much useful to test website. It provide web accessibility evaluation tools can significantly reduce the time and effort to evaluate Web sites.

You can test HTML, DHTML, XHTML, MIL, MathML, etc document by using Markup Validator. Link checker will find the issues with link broken, anchors and referenced objects in a Web page, CSS style sheet, or recursively on a whole Web site. For best results, it is recommended to first ensure that the documents checked use Valid (X)HTML Markup and CSS.

CSS Validator use to check to css of the document.

  • Unicorn – W3C’s Unified Validator
  • The MarkUp Validator – Also known as the HTML validator, it helps check Web documents in formats like HTML and XHTML, SVG or MathML.
  • The CSS Validator – validates CSS stylesheets or documents using CSS stylesheets

WAPT Testing Tool Use For Load, Performance and Stress Testing

I have used WAPT testing tool. It is very easy to use and understand automated software testing tool. You  do not required to use programming knowledge. You can pass dynamic data from using tool features.   Powerful GUI based recording capabilities and a no-programming required user interface allows testers to quickly set up even complex test cases. A built-in editor allows users to build tests that can be easily edited to allow for changes in the test cases.

WAPT is a load and stress testing tool for web sites and intranet applications. It provides ways for accurate load simulation, run-time test data generation and more. You can use the task editor to create task or use the built-in recorder to record the actions of a virtual user, which can then be replayed, edited and tested. WAPT can simulate multiple users for each scenario, custom implement delays between requests and dynamically generate test data parameters.The values of request parameters and URIs can be calculated in a number of ways and even be determined by the server response to the previous request. The results are displayed in easy to understand graphical chart displays and reports.

Advanced software testing allows the use of over 300 various editable commands that allow users to create and manage complex scripts easily.

 

Selenium IDE Automation Testing Tool

Selenium IDE is very easy to operate and popular testing tool. Mostly people are using for regression testing. It the a Firefox plugin, and allows you to record, edit, and debug tests. Selenium IDE includes the entire Selenium Core, allowing you to easily and quickly record and play back tests in the actual environment that they will run. Selenium IDE is not only recording tool but  it is a complete IDE. You can choose to use its recording capability, or you may edit your scripts by hand. With autocomplete support and the ability to move commands around quickly, Selenium IDE is the ideal environment for creating Selenium tests no matter what style of tests you prefer. It can also export Remote Control or WebDriver scripts. The Selenium Server is needed in order to run either Selenium RC style scripts or Remote Selenium Webdriver ones.  Selenium Rc is useful when dynamic data are passing in to the test script.

 

Selenium RC(Remote Control): Selenium is a set of different software tools each with a different approach to supporting browser automation. These tools are highly flexible, allowing many options for locating and manipulating elements within a browser, and one of its key features is the support for automating multiple browser platforms. This package contains the .NET bindings for the older, more procedural Selenium Remote Control (or Selenium RC) API. It requires a running instance of the Selenium Server, and uses JavaScript for automating the browser, which means it is limited to the functionality available from within the JavaScript sandbox. How to use Selenium Testing tool ?

1. Open firefox. Download Selenium testing tool from : http://selenium-ide.openqa.org/download.jsp

2. Close the firefox browser. Reopen again.

3. Check Firefox -> Tools  -> Selenium IDE

4. Select Selenium IDE. Selenium window will open.

5.  Select Red Record Test button on right hand side.

6. Open the Web application on firefox.

7. Click on Play button to stop recoding scripts.

8.  Save the Test suite.

9. Click on the ‘ Source’ tab you can see the test html generated by selenium and the ‘table’ tab shows the commands recorded by Selenium.

10.Click on the Selenium IDE’s play button to run the recorded test suite.

11. After the test is complete you should see the in the ‘Log section’. It shows the various events run by the test. In the table tab you can see that all the rows are green, which means that the test run successfully.

12. You can also use selenium test runner  to execute test suit. Features:

  • Easy record and playback
  • Intelligent field selection will use IDs, names, or XPath as needed
  • Autocomplete for all common Selenium commands
  • Walk through tests
  • Debug and set breakpoints
  • Save tests as HTML, Ruby scripts, or any other format
  • Support for Selenium user-extensions.js file
  • Option to automatically assert the title of every page
  • NEW! Easy customization through plugins
  • Adding new functionality to the API
  • Changing existing functionality
  • Custom formats and export capabilities

Selenium RC:

Selenium Remote Control (RC) is a testing tool that allows you to write automated web application UI , regression tests in any programming language against any HTTP website using any mainstream JavaScript-enabled browser.

Selenium RC Divided in Two Part:

  • Selenium server launches and kills browsers, interprets and runs the Selenese commands passed from the test program, and acts as an HTTP proxy, intercepting and verifying HTTP messages passed between the browser and the AUT.
  •  Selenium RC has client libraries which provide the interface between each programming language and the Selenium RC Server. Client libraries communicate with the Server passing each Selenium command for execution. Then the server passes the Selenium command to the browser using Selenium-Core JavaScript commands. The browser, using its JavaScript interpreter, executes the Selenium command. Run and verifying  the commands specified in your test scripts.
  • The Server receives the Selenese commands from your test program using simple HTTP GET/POST requests. This means you can use any programming language that can send HTTP requests to automate Selenium tests on the browser.

How to Install and Use Selenium RC?

  1. Install Selenium server : http://seleniumhq.org/download/
  2.  Zip file downloaded. Extract  the selenium server java  jar file in desired directory.
  3. Download Selenium java client driver zip from the SeleniumHQ downloads page. (Note:  Download language specific client driver. Selenium supporting multiple language like, java, c#, python, ruby, php, perl)
  4. Extract selenium-java-<version-number>.jar file in desired folder.
  5. Open your desired Java IDE (Eclipse, NetBeans, IntelliJ, Netweaver, etc.)
  6. Create a java project.
  7. Add the selenium-java-<version-number>.jar files to your project as references.
  8. Add to your project classpath the file selenium-java-<version-number>.jar.
  9. From Selenium-IDE, export a script to a Java file and include it in your Java project, or write your Selenium test in Java using the selenium-java-client API. You can either use JUnit, or TestNg to run your test, or you can write your own simple main() program.
  10. Run Selenium server from the console.
  11. Go to the directory where Selenium RC’s server is located and run the following from a command-line console.

    java -jar selenium-server-standalone-<version-number>.jar

  12. Execute your test from the Java IDE or from the command-line.

Example of  Java Programing Code:

** Add JUnit framework to your classpath if not already there
     *  for this example to work
    */
package com.example.tests;

import com.thoughtworks.selenium.*; //This is the driver's import.
import java.util.regex.Pattern;
// Selenium-IDE add the Pattern module because it's sometimes used for
// regex validations. You can remove the module if it's not used in your
// script.
public class NewTest extends SeleneseTestCase {
    public void setUp() throws Exception {
        setUp("http://www.google.com/", "*firefox");
        // We instantiate and start the browser
 }
      public void testNew() throws Exception {
         // (From Selenium-IDE, export a script to a Java file and use those recoded commands here.....)
          selenium.open("/");
          selenium.type("q", "selenium rc");
          selenium.click("btnG");
          selenium.waitForPageToLoad("30000");
          assertTrue(selenium.isTextPresent("Results * for selenium rc"));
          // These are the real test steps
 }

}

Software testing Interview Question and Answer

1. What is the difference between Quality Control and Quality Assurance?

Ans. Quality Assurance: A set of activities designed to ensure that the development and/or maintenance process is adequate to ensure a system will meet its objectives.

Quality assurance, is the systematic monitoring and evaluation of the various aspects of a project, service or facility to maximize the probability that standards of quality are being attained by the production process.[1] QA cannot absolutely guarantee the production of quality products.

Two principles included in QA are: “Fit for purpose”, the product should be suitable for the intended purpose; and “Right first time”, mistakes should be eliminated. QA includes regulation of the quality raw materials, assemblies, products and components, services related to production, and management, production and inspection processes.

Quality is determined by the product users, clients or customers, not by society in general. It is not the same as ‘expensive’ or ‘high quality’. Low priced products can be considered as having high quality if the product users determine them as such


Quality Control: A set of activities designed to evaluate a developed work product.

Quality control, is a process by which entities review the quality of all factors involved in production. This approach places an emphasis on three aspects:

  1. Elements such as controls, job management, defined and well managed processes,performance and integrity criteria, and identification of records
  2. Competence, such as knowledge, skills, experience, and qualifications
  3. Soft elements, such as personnel integrity, confidence, organizational culture, motivation, team spirit, and quality relationships

2. What is the difference between severity and priority?

Ans. Severity and priority term are used in bug tracking system to share the importance of a bug among team and fix it.

“Priority” is associated with scheduling, and “severity” is associated with standards.

Priority: “Priority” means something is afforded or deserves prior attention; a precedence established by order of importance (or urgency).

Ex: if the button name is misspelled in the home page of a website, then the priority is high and the severity is low.

Severity: Severity is used to explain how badly bug is affecting the build.

Ex: 1. crash or anything that loses persistent data , i.e., messing up your files on disk.

2.Aspect of a feature that doesn’t work.

3. What is the difference between validation and varification?

Ans. Varification : The process of evaluating software to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase.

Varification is the process of confirming that s/w “meets its specification”.It involves reviews and meetings to evaluate documents,plans,code,requirement and
specification.This can be done with checklist,issues lists and walkthroughs.

Validation: The process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements.

Validation is the process of confirming that it “meets the user’s requirements”.Validation typically involves actual testing and take place after varification are completed.

5. What is Agile Testing?


Ans. Agile testing is dynamic approach for testing. In this testing requirement does not stable mean to say it keeps change according to customer so in this sitiation we need to use dynamic approach for testing and this approach called Agile testing.

Agile testing is built upon the philosophy that testers need to adapt to rapid deployment cycles and changes in testing patterns.

6. What is Ad-Hoc Testing?

Ans. Testing the application without planning and documentation. Test the application randomly.

7. What is Beta Testing?

Ans. . The beta testing is intended for external testing of the product in order to identify configurations that cause problems, as well as meets the requirements that guided its design and development, works as expected and can be implemented with the same characteristics. System/Application tested by end user.

8. What is Alpha Testing?
Ans. Alpha testing is done before the release of a product to check whether it is functioning properly or not. Testers and real customers combienly test the software at development site.

9. What is Regression Testing?

Regression testing is to ensure that the newly modified code still complies with its specified requirements and that unmodified code has not been affected by the maintenance activity and data are working properly with the existing software. The main aim is to fix the bugs and to make sure the problems are solved.

10. What is Smoke Testing?

Ans. Smoke Testing is performed after software build to ascertain that the critical functionalities of the program is working fine. It is executed before any detailed functional or regression tests are executed on the software build.The purpose is to reject a badly broken application, so that the QA team does not waste time installing and testing the software application.

11. What is Test Plan? How to develop test plan?

Ans. A test plan documents the strategy that will be used to verify and ensure that a product or system meets its design specifications and other requirements. A test plan is usually prepared by or with significant input from Test Engineer.

Process of Developing Test Plan : Please click on link: How to develop Test Plan?

12. What is Bug?
Ans. Bug means a fault in a program which causes the program to perform in an unintended or unanticipated manner.

13. What is Defect?
Ans. Defect means if software misses some feature or function from what is there in SRS (System Required Specification)t it is called as defect.

14.  What is Test Case?

Ans. A test case is defined as a set of variables or conditions used to determine the proper functionality of a software application or system.  Test cases typically describe inputs, actions/events, and the expected response(s).  The main purpose of writing test cases is to verify the testing coverage of the software.  Because of this, several test cases may be necessary to prove that a piece of software is functioning properly.

Test Case Format:  Test Script ID,  Description, Date, Tester, Related Requirement, URL, Category -This Information will be on Header Part of any Test scripts. Test Case column Test Step ID, Precondition, Test condition/ Step, Expected Result, Actual Result, Pass/Fail Status, Comment/ Remark.

15. What are the different step in software Testing Life Cycle?

Ans. Following step are used in Testing Life Cycle:

1. Reuirements understanding / Clarification
2. Use Case writing / understanding
3. Test Strategy
4. Test Case writing
5. Getting the test cases reviewed by Business Analysts / Developers
6. Start actual testing
7. Report issues
8. Follow up with Business Analysts /Management – on if a particular issue needs to be fixed.
9. Defer issues to next release if not so high Priority ones
10. Close issues after getting fixed, if appropriate
11. Regression testing

16. What is the different between automation and manual testing?

Ans.
– Automation saves time and resources.
– Latest trend,one time effort
– Reduces the testing budget.

– Manual testing is driven manually by testers i.e. by executing the whole testing flow.
– Takes time and cost as it requires more resources comparably.
– Has a very good coverage.
– Preferable for huge applications, that have many settings or configurations.

17.What is the difference between error, bug and defect?

Ans.

Error: It is an undesirable deviation from requirements.like mistake in syntax error.

Bug: It is an error found BEFORE the application goes into production.developer accept the tester defect is called bug.

Defect: It is an error found AFTER the application goes into production.Tester found the error is called defect.

18. What is the different between Load and Stress testing?

Ans.  Stress Testing:  Stress testing tries to break the system under test by overwhelming its resources or by taking resources away from it (in which case it is sometimes called negative testing). The main purpose behind this madness is to make sure that the system fails and recovers gracefully — this quality is known as recoverability.

Load Testing: The goal of performance testing is not to find bugs, but to eliminate bottlenecks and establish a baseline for future regression testing. To conduct performance testing is to engage in a carefully controlled process of measurement and analysis. Ideally, the software under test is already stable enough so that this process can proceed smoothly.

19. How many type  of  testing used in Software Development Life Cycle?

Ans.

Stand Alone Testing:

Unit Testing

Static Testing

Proof of Concept Testing ( POC Testing )

System Testing

Functional Testing / Functionality Testing

User Interface Testing

Error exit Testing

Help Information Testing

Integration Testing

Dynamic Testing

Black Box Testing

White Box Testing

Performance Testing

Stress/Load Testing

Volume Testing

Limit Testing

Disaster Recovery Testing

User Acceptance Testing ( UAT )

Free Fall Testing

Equivalence class partitioning

Boundary Value Analysis

Compatibility Testing / Data Migration

Security Testing

20. When you say that Product/Application completely Tested?

Ans. It is idealistic to say that a product is tested completely. However we can ensure that a product is bug free to the best of our knowledge and is hassle free when used by the customer. To say that a product is tested completely it needs to undergo different types of testing like – sanity , functional, regression , performance , security , ad-hoc , compatibility etc. By using these testing techniques a we can ensure that the product is usable and meets the customer’s criteria.

21.  Explain System Testing Process:

Ans:

  • Test Plan

– Create Master Test Plan (MTP) – Done by Test manager or Test Lead.

– Create Detail Test Plan  (What to Test?) – Done by Tester : This will contain test scenarios also known as test conditions.

– Create Detail Test Case(DTS) = Done by Tester : Who to test?

  • Execute Test Cases
  • Regress and Analyse

22. Explain Detailed Test Plan(DTP): 

Ans: Configuratin – Check all parts for existence

Security – How the safety measures work

Functionality – As  per Requirements.

Performance – With more user and more Data

Environment – Keep product same but other settings different

23.  Explain  Detailed Test  Case(DTS):

Ans: The test cases will have a generic  format as below

– Test Case ID

– Test Case Description

– Test Prerequisite

– Test Inputs

– Test Steps

– Expected Results

– Simple Functionality – Field Level

–  Communicative Functionality – Data on one screen goes to another.

– End to End Test Cases – Full Sequence as through the end user carry out.

24. How to set-up Test Environment?

Ans:  There must be no development tools installed in a test bed

– Ensure the right OS and  service pack installed.

– Ensure the disks have enough space for the application

– Carry out a virus check if needed.

– Ensure the integrity of the web server

–  Ensure the integrity of the database server.

25. Explain Actual Test Execution:

Ans. Install Tests

– Auto install in default mode

– Does the  installer Check for the prerequisites?

– Does the installer check for the system user privileges?

– Does the installer check for disk and memory space?

– Does the installer  check for the license agreement?

– Does the installer check for the right product key?

– Does the installer in the default path?

– Does we have different install types like custom, full or compact?

– Once install complete, start the application.

– Move to every possible  screen using menus, tool bar icons, shout cut keys, link etc.

– Move back and forth from various screens to other forms in ad hoc.

– Exit the application &  restart the application many times.

26. Explain Data Preparation:

Ans: The data can be identified either at the time of writing the test case itself or just before execution the test cases.

– Data  that are very much static can be identified while writing the test case itself.

– Data which are dynamic and configurable need more analysis before preparation.

– Preparation of test data depends upon the functionality that is being tested.

27. Explain Core Functional Test?

Ans: Build Verification Tests (BVT):  A set of test scenarious/cases must be identified as critical priority, such that, if there tests do not work, the product priority, such that, if there tests do not work, the product does not ger acceptance from the test team.

Build Acceptance Tests (BAT): This starts once the BVT is done. This involves feeding the values to the program as per the test input and then performing the other actions (Like, clicking specific buttons of function key  etc) in teh sequence as given in the test.

28: Basic question of Testing: 

Ans: 1. Why to test? : Testing becomes absolutely essential to make sure the software work properly and does the work that it is menant to perform.

2. What to test? : Any working product forms part of the software application has to be  tested.  Both Data & program must be tested.

3. How often to test? : When a prog is modified or newly developed . It has to be tested.

4. Who tests? : Programmer, Tester and Customer.

29. Explain Software Development Life Cycle Model?

Ans:  As software is always of a large system (or business), work begins by establishing requirements for all system elements and then allocating some subset of these requirements to software. This system view is essential when software must interface with other elements such as hardware, people and other resources. System is the basic and very critical requirement for the existence of software in any entity. So if the system is not in place, the system should be engineered and put in place. In some cases, to extract the maximum output, the system should be re-engineered and spruced up. Once the ideal system is engineered or tuned, the development team studies the software requirement for the system.

Inception:
Required for proposal, Negotiaton, Letter fo Intent,Defining a preferred concept for the software product and determining its life-cycle feasibility and superiority to alternative concepts,  Ensure that everything is correct before singing contract .

Requirements:
A complete, verified specification of the required functions, interfaces, and performance for the softwareproduct.

Product Design:

A complete verified specification of the overall hardware-software architecture, control structure, and data structure for the product, along with such other necessary components as draft user’s manuals and test plans.

Detailed Design:

A complete verified specification of the control structure, data structure, interface relations, sizing, key algorithms and assumptions of each program component.

Coding:
A complete, verified set of program components. A proper functional software product composed of the software components.

Implementation:

A fully functioning operational hardware-software system, including such objectives as program and data conversion, installation and training.

Maintenance:

A fully functioning update of the hardware-software system repeated for each update.

30. What is bug life cycle?

Ans.

Defect life cycle starts at the point whenever we found any bug and verified that this error in software is bug. Just like every things life cycle this bug also have life cycle which start with the status of New as we found this new bug in software then it goes to other stage of cycle its open means its verified that its a bug and send in open status to developers or developers TL to further verify that this is bug, they found it bug then sent to new stage its assigned to developer or who ever is there to fix it then when ever it clear that bug is fixed it goes to fix status and send back to tester for verification tester check it and found it that now its fixed he closed it and the life cycle of bug is completed.

The bug life cycle have 5 major status points –

1. New

2. Open

3. Assigned

4. Fixed

5. Closed

 

(in between there are few many other sub status like – verify, rejected,
deferred, valid, invalid etc.).

31.What are the key challenges of testing?

Ans. Following are some challenges while testing software

1.Requirements are not freezed.

2.Application is not testable.

3.Ego problems.

4.Defect in defect tracking system

5.Miscommunication or no Communication

6.Bug in software development tools.

7.Time pressures

32. Explain Testing Methods?

Ans.

1. White Box
Also called ?Structural Testing / Glass Box Testing? is used for testing the code keeping the system specs in mind. Inner working is considered and thus Developers Test..
* Mutation Testing
Number of mutants of the same program created with minor changes and none of their result should coincide with that of the result of the original program given same test case.

* Basic Path Testing
Testing is done based on Flow graph notation, uses Cyclometric complexity & Graph matrices.

* Control Structure Testing
The Flow of control execution path is considered for testing. It does also checks :-
Conditional Testing : Branch Testing, Domain Testing.
Data Flow Testing.
Loop testing :Simple, Nested, Conditional, Unstructured Loops.

2. Gray Box

3. Black Box
Also called ?Functional Testing? as it concentrates on testing of the functionality rather than the internal details of code.
Test cases are designed based on the task descriptions
* Comparison Testing
Test cases results are compared with the results of the test Oracle.

* Graph Based Testing
Cause and effect graphs are generated and cyclometric complexity considered in using the test cases.

* Boundary Value Testing
Boundary values of the Equivalence classes are considered and tested as they generally fail in Equivalence class testing.

* Equivalence class Testing
Test inputs are classified into Equivalence classes such that one input check validates all the input values in that class.

Gray Box Testing : Similar to Black box but the test cases, risk assessments, and test methods involved in gray box testing are developed based on the knowledge of the internal data and flow structures

33. On what basis the planned testing effort is calculated for the entire project?

Ans:

The Planned testing efforts can be calculated with 3 different techniques.

1. Function Point Analysis

2. Testing Point Analysis

3. Project dead line

34.what is traceability matrix?

Ans.

A traceability matrix is used to trace a requirement to the test that are need to verify that the requirements are fulfilled. To make sure that the approval requirements are covered in all phases of development. SRS -> Development ->Testing->Delivery.

35. What is Software Development V-Model?

Many of the process models currently used can be more generally connected by the V-model where the “V” describes the graphical arrangement of the individual phases. The “V” is also a synonym for verification and validation.

The model is very simple and easy to understand. By the ordering of activities in time sequence and with abstraction levels the connection between development and test activities becomes clear. Oppositely laying activities complement one another i.e. serve as a base for test activities. So, for example, the system test is carried out on the basis of the results specification phase. The coarse view of the model gives the impressionthat the test activities first start after the implementation. However, in the description of the individual activities the preparatory work is usually listed. So, for example, the test plan and test strategy should be worked out immediately after the definition of the requirements. Nevertheless it can contribute very well to the structuring of the software development process.

The disadvantage of the model is the coarse division into constructive work (including the implementation) on the left-hand side of the “V” and the more destructive tasks on the right-hand side. Here also the impression may develop that, after the implementation phase, a ready product can be delivered. A planned-in removal of defects and regression test is not given.

36. What is waterfall model?

Ans.

The waterfall model is a popular version of the systems development life cycle model for software engineering. Often considered the classic approach to the systems development life cycle, the waterfall model describes a development method that is linear and sequential. Waterfall development has distinct goals for each phase of development. Imagine a waterfall on the cliff of a steep mountain. Once the water has flowed over the edge of the cliff and has begun its journey down the side of the mountain, it cannot turn back. It is the same with waterfall development. Once a phase of development is completed, the development proceeds to the next phase and there is no turning back.

 

The advantage of waterfall development is that it allows for departmentalization and managerial control. A schedule can be set with deadlines for each stage of development and a product can proceed through the development process like a car in a carwash, and theoretically, be delivered on time. Development moves from concept, through design, implementation, testing, installation, troubleshooting, and ends up at operation and maintenance. Each phase of development proceeds in strict order, without any overlapping or iterative steps.

The disadvantage of waterfall development is that it does not allow for much reflection or revision. Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage.

37. Explain Advantage and Disadvantage of waterfall model:

Ans.
Pros

  • It is the simplest software process model in terms of complexity and ease of implementation. As I said before, it is nothing but common sense.
  • This model is extremely easy to understand and therefore, is implemented at various project management levels and in a number of fields (not just software development).
  • It employs a systematic, orthodox method of project development and delivery.

Cons

  • Since it is not an iterative model, it has its fair share of shortcomings and drawbacks.
  • Being a strictly sequential model, jumping back and forth between two or more phases is not possible. The next phase can be reached only after the previous one has been completed.
  • Due to this, bugs and errors in the code cannot be discovered until and unless the testing phase is reached. This can lead to a lot of wastage of time and other precious resources.
  • This process model is not suitable for projects wherein the project requirements are dynamic or constantly changing.

38. What is White Box Testing?

Ans. White box testing done by developer. White box testing required good knowledge of coding. Test the internal structure of the programing and justifies whether that program is correct or not. White box testing  also known as clear box testing, glass box testing, transparent box testing, and structural testing

39. What is Black Box Testing?

Ans: Black box testing is done by the professional testing team. This does not require knowledge of internal coding of the application. Testing the application against the functionality of the application without the knowledge of internal coding of the software

40.  What is Testing Strategy?

Ans.
A Test Strategy document is a high level document and normally developed by project manager. This document defines “Testing Approach” to achieve testing objectives. The Test Strategy is normally derived from the Business Requirement Specification document.

 

The Test Stategy document is a static document meaning that it is not updated too often. It sets the standards for testing processes and activities and other documents such as the Test Plan draws its contents from those standards set in the Test Strategy Document.

 

Some companies include the “Test Approach” or “Strategy” inside the Test Plan, which is fine and it is usually the case for small projects. However, for larger projects, there is one Test Strategy document and different number of Test Plans for each phase or level of testing.

 

Components of the Test Strategy document

 

  • Scope and Objectives
  • Business issues
  • Roles and responsibilities
  • Communication and status reporting
  • Test deliverability
  • Industry standards to follow
  • Test automation and tools
  • Testing measurements and metrices
  • Risks and mitigation
  • Defect reporting and tracking
  • Change and configuration management
  • Training plan

41. What is Test Plan?

Ans. The Test Plan document on the other hand, is derived from the Product Description, Software Requirement Specification SRS, or Use Case Documents.
The Test Plan document is usually prepared by the Test Lead or Test Manager and the focus of the document is to describe what to test, how to test, when to test and who will do what test.

It is not uncommon to have one Master Test Plan which is a common document for the test phases and each test phase have their own Test Plan documents.

There is much debate, as to whether the Test Plan document should also be a static document like the Test Strategy document mentioned above or should it be updated every often to reflect changes according to the direction of the project and activities.
My own personal view is that when a testing phase starts and the Test Manager is “controlling” the activities, the test plan should be updated to reflect any deviation from the original plan. After all, Planning and Control are continuous activities in the formal test process.

  • Test Plan id
  • Introduction
  • Test items
  • Features to be tested
  • Features not to be tested
  • Test techniques
  • Testing tasks
  • Suspension criteria
  • Features pass or fail criteria
  • Test environment (Entry criteria, Exit criteria)
  • Test deliverable
  • Staff and training needs
  • Responsibilities
  • Schedule

This is a standard approach to prepare test plan and test strategy documents, but things can vary company-to-company

42. What is Bucket Testing?

Ans. Bucket testing  is a methodology for gauging the impact of different product designs on a Web site’s metrics.

43. Explain Unit Testing, Interface Testing and Integration Testing  :

Ans.  Unit testing is done to check whether the individual  module of the source code is working properly. Testing each and every unit separately by the Developers enviroment.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

Interface testing is done to check whether the individual modules communicating properly one among other as per the specification.

Integration Testing is done to check the connectivity by combining all the individual modules together and test the functionality.

44. What is Gamma Testing?

Ans. Gamma Testing  is done when the software is ready for releasing with specific requirements,  this testing is done directly by skipping all the in-house testing activities.

45. What is Scalability Testing?

Ans. Scalability testing is used to check whether the functionality performance of a system are capable to meet the volume and size change as per requirements.

Scalability testing can be done using load testing with various software and hardware configuration changed where the testing environment setting unchanged.

46. What is the major activity done in Database Testing?

Ans. No of activity include in database testing as folow,

Checking the data validity,

Checking the data integrity,

Checking performance Related to database,

Checking the security Aspect. As aspect checking database, devises, table, fields, constrains, defaults, keys and indexes,  stored                              Procedure and packages, error message, triggers, schema comparisons.

47. What is Fuzz Testing?

Ans. Fuzz testing  is a black box testing technique which use random bad data to attach a program and see what break in application.

Fuzz testing mostly used to,

  • Set up a correct file to enter your program
  • Restore some part of the file by using random data.
  • Unlock the file with program
  • Observe what breaks.

Fuzz testing can be automated for maximum effect on large application. This testing improve confidence that the application safe and secure.

48. Explain peer review process in software testing:

Ans. It is an alternative form of testing, where some colleagues were invited to examine your work product for defect and improvement opportunities.

49. What is AUT?

Ans. AUT is nothing but “Application Under Test”. After the designing and coding phase in software development life cycle, the application comes for testing then at the time the application is started as application under test.

50. What is the difference between bug, error and defect?

Ans. Bug: It is found in development environment before product is shipped to the respective costumer.

Error: It is the deviation between expected and actual result.

Defect: It is found in the product itself after it is shipped to the respective costumer.

51. What is the difference between structure and functional testing?

Ans. Structure Testing:  is a “White Box” testing and it is based on algorithm and code.

Functional Testing: is a “Black box” testing where the tester where the tester verifies the functional requirements.

52. What is the difference between Re-test and Regression Testing?

Ans. Re-test: Retesting means we testing only certain part of an application again and not considering how it will effect in the other part of whole application.

Regression Testing: Testing the application after the change in a module or part of the application for testing that is the code change will effect rest of the application.

UI Automation Testing Tools

UI Automation testing tools are very useful to Developer and Tester. It save lots of time of both user.

Telerik is one of the easiest tool for testing application UI and performance.

No of reason why to use Telerik  testing tool:

1. Test HTML5, AJAX, Silverlight and WPF apps, JavaScript calls, Telerik controls, dynamic page synchronization, client-side behaviors, complex UI virtualizations and elaborate XAML animations. Quickly convert them to performance tests to identify performance robbing bottlenecks.

2. The built-in test recorder will help you create tests with just point-and-clicks and then easily update and customize them if necessary.

Create Test -> Record -> Execute

3. Useful in Regression Testing : Run your tests against all browsers at once: Internet Explorer, Firefox, Safari and Chrome. Besides, elements are shared between all tests in a project – modify an element to have the change applied to all tests.

4.  The tool ships with a standalone app and a Visual Studio plug-in that use the same repositories and file formats. Now QAs can check-in tests in the main project, which developers can then extend with code

Test Type:

HTML, Asp.Net, Ajax Automation, Java Script, Silverlight Test, WPF Test, Data-Driven Testing

Cross Browser Compability  Testing:  (Adobe Browser Lab)

Accurately pinpoint browser compatibility issues and compare web pages at a glance in Adobe BrowserLab to easily identify differences and potential problems. Preview full screenshots with multiple view options and customizable test settings.

Preview your web pages on a variety of browsers, including Chrome, Safari, Firefox, and Internet Explorer, on Windows and Mac OS.

Easily and accurately align screenshots to a specific point with Smart Align to more easily see differences across browsers.

Save time by easily accessing pages you’ve recently tested in the URL history of BrowserLab

Saving time and Money: Dramatically reduce the need for dedicated testing hardware or additional virtualization software. Eliminate the necessity to install multiple browsers on your computer.

Download Url: http://www.adobe.com/cfusion/tdrc/index.cfm?product=web_premium

 

Multiple IE Testing Tool:

I found great tools for testing websites in all version of Internet Explorer. Although it’s addressed to experienced users, IETester is impressively easy to use, so you can quickly take advantage of its great features without wasting your time on getting used to it.

Download Url: http://www.softpedia.com/progDownload/IETester-Download-101019.html

Download multiple IE Url: http://tredosoft.com/Multiple_IE

Multiple IE  software allows you to install and run Internet Explorer 3.0 and above at the same time; however, does cause some issues if you have dreamweaver installed.