Recent Post

Testing - Important FAQs


  • What is the difference between Ad-hoc Testing, Monkey Testing and Exploratory Testing?
  • "Exploratory Testing" involves simultaneous learning, test design and test execution. It is a type of "Ad-hoc Testing", but only difference is that in this case, the tester does not have much idea about the application & he explores the system in an attempt to learn the application and simultaneously test it.
  • "Ad-hoc Testing" is performed without any planning of process and without any documentation like Test Case or Test Scenarios. It involves test design and simultaneous test execution. For Ad-hoc testing the testers possess significant understanding of the software before testing it. 
  • "Monkey Testing" is done with no specific test in mind. Here the monkey is the producer of any input data (which can be either a file data or can be an input device data). It involves pressing some keys randomly and checking whether the software fails or not. 


  • What is the difference between Verification and Validation?
  • "Verification" involves reviews and meetings to evaluate documents, plans, code, requirements, and specifications to confirm whether items, processes, services, or documents conform to specified requirements or not.
  • This can be done with the help of checklists, issues lists, walkthroughs, and inspection meetings.
  • The purpose of verification is to determine whether the products of a given phase of the software development cycle fulfill the requirements established during the previous phase or not.  
  • "Validation" is the actual testing
  • Validation is the determination of the correctness of the final program or software product produced from a development project with respect to the user needs and requirements.
  • This involves actual testing of the product and takes place after verifications are completed. 
  • "Software Verification" raises the question, "Are we building the Product Right?"; that is, does the software conform to its specification.
  • "Software Validation" raises the question, "Are we building the Right Product?"; that is, is the software doing what the user really requires.


  • What is the difference between Alpha Testing and Beta Testing?
  • Typically a software product passes through two stages of testing before it is considered to be Final.
  • The first stage is known as "Alpha Testing".
  • Alpha Testing is often performed by potential users / customers or an independent test team at the developers' site.
  • It is usually done when the development of the software product is nearing completion; minor design changes may still be made as a result of Alpha testing. 
  • The second stage coming after alpha testing is known as "Beta Testing".
  • Versions of the software, known as beta versions, are released to a limited audience outside of the programming team so that further evaluation by the users can reveal more faults or bugs in the product.
  • Sometimes, beta versions are made available to the open public to increase the feedback field to a maximum number of future users.
  • Usually it is done at customer places or customer like places (end users)

  • What is the difference between Static Testing and Dynamic Testing?
  • "Static Testing" involves testing activities performed without actually running the software.
  • It includes Document review, code inspections, walkthroughs and desk checks etc. 
  • "Dynamic Testing" is used to describe the testing of the dynamic behavior of the software code.
  • It involves actual compilation & running of the software by giving input values and checking if the output is as expected.
  • It is the validation portion of Verification and Validation.

What are Load / Performance / Stress Testing?
Load Testing: Load Testing is the process of testing the application to check if the application supports the required number of user load
Performance Testing: Performance testing is the process of testing the application to check if the application behaves well under the specified conditions (transactions, speed, process, memory, threads, hits...)
It also depends upon the number of user load on the application
Stress Testing: Stress testing is the process of testing the application to check if the application behaves well / stable / sustains even beyond the limit of the user load / transactions
It also depends upon the data base transactions / Hard ware changes

  • What is the difference between Black Box Testing & White Box Testing?
  • First of all Black-Box and White-Box both are Test Design Methods.
  • "Black-Box" test design treats the system as a "Black-Box" (Wherein the tester can't see as to what is there inside the box).
  • Hence we design the test cases in such a way that we pour the input from one end of the box and expect a certain specific output from the other end of the box.
  • To run these test cases, the tester need not know as to how the input gets transformed to output inside the box.
  • Black-Box is also known as Behavioral-Box or Functional-Box or Opaque-Box or Closed-Box.  
  • "White-Box" test design treats the system as a Transparent Box, which allows anyone to see inside the "Box".
  • In White-Box the tester is able to see the process of transformation of an "Input" into an "Output" inside the box.
  • Hence we design the test cases with a view to test the internal Logic, Paths or Branches of the box.
  • White-Box is also known as Structural-Box or Glass-Box or Clear-Box or Translucent-Box test design


  • What is Quality?
  • Quality is measurement of software
  • Quality is software that is reasonably bug-free, delivered on time and within budget, meets requirements and expectations and is maintainable.
  • However, quality is a subjective term.
  • Quality depends on who the customer is and their overall influence in the scheme of things.  
  • What is Six Sigma?
  • "Six Sigma" means Six Standard Deviations from the mean.
  • It is a methodology aimed to reduce defect levels below 3.4 Defects Per one Million Opportunities.
  • Six Sigma approach improves the process performance, decreases variation and maintains consistent quality of the process output. This leads to defect reduction and improvement in profits, product quality and customer satisfaction.



  • What is difference between CMM and CMMI?
  • "CMM" means "Capability Maturity Model" developed by the Software Engineering Institute (SEI).
  • It is a process capability maturity model, which aids in the definition and understanding of an organization's processes.
  • CMM is intended as a tool for objectively assessing the ability of government contractors' processes to perform a contracted software project.  
  • "CMMI" means "Capability Maturity Model Integration" & it has superceded CMM.
  • The old CMM has been renamed to Software Engineering CMM (SE-CMM).


  • What are Test Plan and Test Cases?
    • Test Plan is a document that describes the scope, objectives, approaches, schedules, resources, test setup, different testing types and their definitions start and exit criteria of each testing for an App, risks and assumptions.
    • Test Case is a document that describes a set of inputs, test procedures (Test conditions to be executed),  predicted expected results (Outputs) , status criteria of the each test  and actual results of the Application
  • Test case is a triplet [I, S, O] where
    • I is input data
    • S is System conditions to be executed
    • O is the expected output
  • Test suite is set of test cases that belong to a particular test category / type
  • Test cases are not randomly selected. Instead even they need to be designed



  • What is the Difference between STLC & SDLC?
  • STLC means "Software Testing Life Cycle".
  • STLC is a process that describes the  step by step implementation of testing activities
  • It starts with activities like :
  • 1) Preparation of Requirements Document
  • 2) Preparation of Test Plan
  • 3) Preparation of Test Cases
  • 4) Execution of Test Cases
  • 5) Analysis of Bugs
  • 6) Reporting of Bugs
  • 7) Tracking of Bugs till closure. 
  • 8) Application Delivery and maintenance
  • SDLC means " Software Development Life Cycle"
  • SDLC is a process that describes the different phases of implementing software (Application)
  • SDLC is a software development process, used by a systems analyst to develop an information system. It starts with activities like :
  • 1) Project Initiation
  • 2) Requirement Gathering and Documenting
  • 3) Designing
  • 4) Coding and Unit Testing
  • 5) Integration Testing
  • 6) System Testing
  • 7) Installation and Acceptance Testing
  • 8) Support or Maintenance


  • What is the Difference between Project and Product Testing?
  • If any organization is developing the application according to the client (end user > some other person) specification then it is called as project.
  •  Accordingly it’s testing is known as "Project Testing"
  • If any organization is developing the application based their requirements / specifications  and marketing to itself then it is called as product.
  • Hence its testing is known as "Product Testing"



  • What is the Difference between Retest and Regression Testing?
  • ReTesting is the process of testing application to test the same module for multiple times with multiple number od test data sets.
  • This is usually referred as Data Driven Testing.
  • This is very much applicable for large scale application having bulk sets of test data to be applied and verified on the application
  • Data Driven Testing: Testing in which the action of a test case is parameterized by 
    externally defined data values, maintained as a file or spreadsheet.
  • Regression testing is the process of the testing the application to check if the existing functionality is not broken (not effected) by bug fixes or new enhancements of the application
  • Usually Regression testing is done on multiple in place of system tests
  • Regression testing is mostly preferred to automated using a tool/software to reduce the test time.
  • Tools like QuickTestPro / Jmeter / Selenium / WinRunner are aimed for such tests


  • What is the difference between an application server and a Web server?
  • Web server serves pages for viewing in a Web browser, while an application server provides methods that client applications can call.
  • Web Servers are like IIS, Apache
  • A little more precisely, we can say that, a Web server exclusively handles HTTP requests, whereas an application server serves business logic to application programs through any number of protocols.
  • An Application Server is used to run business logic or dynamically generated presentation code. It can either be .NET based or J2EE based (like Oracle9iAS, BEA WebLogic Server, IBM WebSphere, JBoss).
  • Ex: J2EE application server can run on EJBs - which are used to execute business logic.
  • Database Server is the one where the database (SQL / Oracle) sits and manages all data base records (application data / data tables / information in the form of table representations)


  • What is Database testing?
  • Database testing is the process of testing databases either independently or with integration of application
  • Database testing involves the following activities:
  • 0) Testing integration between database and app through form submissions / data flow checks and so on
  • 1) Testing of Data validity.
  • 2) Testing of Data Integrity.
  • 3) Performance testing related to the data base.
  • 4) Testing of Procedure, triggers and functions.

0 comments:

Post a Comment

GAReddy @ OneTestingCenter @ All Articles