What is STLC (Software Testing Life Cycle)?

As per companies there are varies phase available for STLC, there is no fix stander for it, but most common phases as per following:

1. Requirement gathering And Analysis: Analyse and review the project requirement and design.it good to start testing activity from requirement phase. Because it will reduce the defect cost.

2. Test Plan: Once you understand the requirements then you will get the idea what u need to test, which strategies, method and environment will be used and which resouses are available.

3.Test Design: You can design the test cases or test scripts depend upon the projects requirements and designs. Create test cases depend upon positive and negative scenario and your imagination.

4. Test Execution: Execute the test cases or test script in setup environment. Defect are reported in bug tracking system after test execution.Testing is iterative process, testing have to be done after every bug fixing.

5. Test Report: Test execution report are created and passed to stakeholder. Final test test document and report prepared in this phase.

What is Black Box Testing?

What is Black Box Testing?

In my previous article i explain the what is White box Testing. Now I will focus on Black box testing and How Black box testing is performed.

As per the name black box its treats the system as Black box, we just focus on the input and output of the system. no need of the system flow and system specification of the internal structure of the software. in simple words the Testing person or the test engineer need not know the internal working of the system or application.

In the Black box testing you do not know any thing of the code and internal structure but you need to focus on the functionality of the system, it means you need to take care on the system inputs and system outputs. if you insert the proper inputs then its give proper output or not is more important in the black box testing.

Both Black box and white box testing method has its own advantages and disadvantages. it mean we can find the bugs using both testing method but the bugs which we can found using the both method and its not possible to find the bugs using only one method. Most of all the application are tested using black box testing method because the user who is going to use the software or application is not know the structure of the system and because of that system tested using the black box testing.

What is White Box Testing?

What is White Box Testing?

White box testing (WBT) is also known as the Structural or Glass box testing.

White box testing is transparent and accurate because we know the structure of the code. When any tester working on the white box testing then he/she know the internal structure of software.website. he/she need to create the tests which is ensure the internal operation performed as per the project specification.

In white box testing you know the full flow of the project and all the specification which is more useful in the white box testing and white box testing is not easy as the black box testing. in black box testing you concern with the input and output only and because of that its more easy then the white box testing.

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.