Sunday 23 February 2014

                                        Agile Methodology


Now a days every MNC in IT sector is following Agile methodology because of its advantage.
In the agile methodology, the team will design and implements the code for certain part of the Software according to client requirements and delivers the build to the testing team and client for the evaluation.

If the client and Testing team feedback is positive on the basis of requirements documents, then the development team moves to Remaining part of the software development ,

If they receives negative feedback the re-work will be done on the Developed software.

This is called one of the "test driven software development model" because the client will be closely associated with the development team and testing team. So there is a high chance to deliver the high quality product.  

The software engineers follow different approaches in development and testing. Agile methodology in testing is completely different from Other models .

In agile methodlogy the software engineers follow different frameworks to develop and to deliver the project.
The popular framework among all is "Scrum".

Tomorrow we will be discussing the complete scrum process in detail.
Source: 1) Mostly Wikipedia and other related sites,
             2) My trainer notes and
             3) Special thanks to Mr. Srikanth Girijala for the support in some Concepts

Wednesday 29 January 2014

Test Plan Document:


Test Plan Document:


This document is prepared by the Test lead once they get the approved test strategy document from the test manager.
The test plan document is dependent on Build release.  

Contents of Test Plan Document:  

      Title: It describes the name of the project with type of document
Example: Banking System Test Plan v1.0 à describes the type of the document with version number where v1.0 represents initial version of first module.

·         History Of Document: It describes about the details of author of test plan document, when it was prepared, who conducted reviews, change of notifications and approval of test plan document.

·         Introduction :
Ø Project Overview: Brief description about the application under test.
Ø Objective of Test Plan: Brief description about the current test plan document.
Ø Referred Documents: About the documents referred to prepare the test plan document.
Example: BRS and FRS documents.
Ø Scope :
ü    In Scope:  It describes the possible testing activities under current test plan like functionality testing, usability testing, etc…
ü    Out of Scope: It describes the activities which are not possible under current test plan like unit testing, integration testing, performance testing, etc…

·         Features to be tested: It describes about the available modules and requirements in current build to validate

·         Features not to be tested: It describes about the modules and requirements which are not required to validate.


·         Entry & Exit Criteria:
a)      Entry criteria describe when to start testing or when to perform dynamic testing or when to perform test case’s execution.
The factors which were considered in entry criteria,
*      All the test cases should be prepared and reviewed.
*      Build should be deployed (installed) at test environment.
*      Build should pass sanity test. i.e., build must be stable.
*      Test environment setup should be completed.
b)      Exit criteria describe when to stop testing activities.
The factors which were considered in exit criteria,
*      All the test cases should be executed atleast once.
*      Majority of the test cases should be passed.
*      Identified defects should be closed or postponed.
*      Defect ratio must be less than acceptance level.
*      Budget and time constraints should be keep in mind.
*      When UAT is completed then test engineers can stop testing.

·         Suspension & Resumption Criteria:
a)      Suspension Criteria: It describes when the test engineer can suspend the test cases    execution.
The factors which were considered in suspension criteria,
*      When build is not stable, means when it is failed in Build Verification Test.
*      When there is a change request from client.
*      Delay in publishing input documents.
*      Whenever test engineer identifies showstopper defect.
b)                  Resumption Criteria: It describes when to continue the test execution after suspension.
The factors which were considered in resumption criteria is,
*      When the patch file is released for rejected build.
*      When requirements are refined based on client request acception or rejection.
*      When input documents are publishes.
*      When showstopper defects are resolved.

·         Testing Approach: It describes the testing approaches they will be using to validate the application functionality.
Example: Usability testing, functionality testing, compatibility testing etc…

·         Roles & Responsibilities: It describes the test engineer names and allocated tasks to perform.

·         Schedule: It describes the timelines to perform each activity during testing.


·         Test Environment: It describes the required environment setup for test cases execution like hardware and software configurations in the system to run the test cases.
Example: Browser setup, OS settings, etc…

·         Test Deliverables: The document which needs to be delivered at end of every task in testing is known as test deliverables.
Here in entire testing process after every phase the documents regarding to that phase must be delivered to the appropriate officials.
Example: Test Cases Review Report, Test Cases Execution Report, etc…

·         Risks & Mitigations: It describes the possible risks and the solutions for those risks at the test environment and work environment.
Example: Lack of domain knowledge to test engineers , here the solution is conducting KT sessions .

Note: Once the test plan document is prepared, the test leas conduct review with senior test engineers to get it approved and then the approved test plan document is delivered to the test engineers of the team.

Interview Question: What is showstopper defect???

Sunday 26 January 2014

Some Useful Templates_ Defect Report Template:


Every Organization will maintain their own templates .

Defect Report: The document which is used to report about the identified defects while testing the software application to the development  team , and the process of reporting is known as defect reporting.

Sample Defect Report Template:






Components of Defect Report Template:


Summary: Brief description about the review.

Defect_ID: The name of the defect and it should be unique.
Note: If we are using any defect reporting tool then tool will generate unique ID for a defect.

Reported By: The name of the test engineer who identified the defect.

Reported On: On which date the defect identification was done.
Note: In general, whenever the Test engineer identified defect on the same day we need to report about the defect.

Reported To: The person belongs to the development to whom the test engineer reports about the defect.

Reproducible Defect: If the defect is raised whenever the test engineer rechecks the same functionality then it is the reproducible defect.
Reproducible à Yes
Not Reproducible à No

Project Name: Name of the project.

Module Name: Name of the module in the particular project.

Build Version: Version Number of the build.

Test Set: Name of the test set in which test cases are failed.

Test Case_ID/Name: Name of the test case in which the defect is identified.

Priority: It describes the importance of the functionality in which we identified the defect.  Levels of Priority were High, Medium, Low.

Severity: It describes the impact of the defect to execute other test cases. The levels of Severity were High, Medium, Low.

Status: It describes the state of the defect.


Snapshot: The picture of the functionality in which we identified the defect.


Some Useful Templates_RTM TEMPLATE


RTM (Requirement Traceability Matrix): RTM is a dcocument consists of tabular format which is used to cross check the requirements coverage with the written test cases. It can be prepared by the test engineer or test lead. RTM can be prepared either in excel sheet or in Quality Center (Depends on the availability of the resources in the organization).


Sample Requirement Trace ability Matrix (RTM) Template:




Components of RTM Template:

Project Name: Name of the project.

Module Name: Name of the module in the particular project.

Created By:  Name of the test engineer who created the Requirement Traceability Matrix.

Created On: The date on which the RTM was prepared.

Reviewed By: Names of the persons who were responsible to conduct the reviews on RTM.

Reviewed On:  On the date review was conducted.

Referred Documents:  Inputs to derive the RTM.

Requirement_ID: The name of the specific requirement of a particular application and it should be unique:
Syntax:  001 Project Name_Module Name_Requirement

Test Scenario: The scenarios which were derived based on the requirement. One requirement may have many test scenarios.
Syntax: TS001_Requirement_Derived condition for that requirement

Test Case_ID/Name:  The name of the test case and it should be unique for the derived test scenario
Syntax:  TC001_Project Name_Module Name_Functionality

Test Case Description: It describes the purpose or objective of the written test case.


Saturday 25 January 2014

Some Useful Templates_TEST CASE TEMPLATE

Here I followed the general standards in the preparation of templates

Test Case: The step by step procedure to validate the functionality of the application, for every user and the subsequent response from the system. Every Organization will maintains their own template. 


Sample Test case Template:



Components of test case template:

Project Name: Name of the project.

Module Name: Name of the module in the particular project.

Created By:  Name of the test engineer who created the test cases.

Created On: The date on which the test cases are prepared.

Reviewed By: Names of the persons who were responsible to conduct the reviews on Test cases.

Reviewed On:  On the date review was conducted.

Referred Documents:  Inputs to derive the test cases.

Test Case_ID/Name:  The name of the test case which should be unique.
Syntax:  TC001_Project Name_Module Name_Functionality.

Test Case Description: It describes the purpose or objective of the test case.

Step Name: It describes the no. of steps in a test case.
Example: Step1. Step2, Step3…etc

Step Description: It describes the user operation to be performed on AUT (Application Under Test) during test cases execution.

Test Data: It describes the data which we give to the application during test cases execution.

Priority: It describes the importance of the test case for execution. It was derived based on the importance or usability of the functionality with respect to client business needs. Based on the importance priority status can be mentioned as High, medium, low.

Expected Result: It describes the expected behavior of the application with respect to user operations.

Actual Result: It describes the actual behavior of the application after execution of the test case.

Status: It describes the status if the test case after execution. The statuses used to mention in status column is
Passed:  When both actual result and expected result are same.
Failed: When the actual result and expected result are not same.

QC Path: It describes the name of the folder in “Test Plan” Component of Quality Center (QC) to export these written test cases. 


Thursday 23 January 2014

About Reviews

Reviews and Its Types:
Review is a type of verification technique.
Without executing the application checking to find out the defects on the work done is known as Reviews.
We have different types of Reviews.
Peer Review: Peer Reviews (One to One Reviews) are informal reviews between two employees, where one employee delivers the details regarding the documents to other employees for the identification of mistakes/defects with no cost. It is an unplanned meeting.
Example: My friend is struggling with generation of test script for particular functionality. After I finish my work, I am helping her. This is the great example of peer reviews.
Walkthroughs: Walkthroughs are the semi informal meeting with more than 2 or more employees, where the document owner (Author) explains about the document to the other employees to identify the mistakes/defects. It is a pre- planned review, so it costs more than peer reviews
Example: Presenting my ideas regarding one task in front of the 2 or more members with full preparation.
Inspections: A fully formal meeting with more than 5 employees, where all the employees participate with the intention of finding mistakes/defects.
Interview Questions_0103: What is peer review??
Interview Questions_0104: What is a walkthrough??
Interview Questions_0105: What do you mean by Inspections??
Interview Questions_0106: Have you participated in the peer reviews while doing project at your institute??

Wednesday 22 January 2014

Updation to Interview Questions List :)



Now, it’s time to update interview Questions List
Interview Questions_082: What do you mean by STLC??
Interview Questions_083: What is UAT??
Interview Questions_084: What is Test strategy document??? Who prepares it??
Interview Questions_085: What is test plan document??? Who prepares it??
Interview Questions_086: Have you ever participated in the preparation of test plan document??
Interview Questions_087: Difference between test plan and test strategy documents??
Interview Questions_088: Can you explain any one of the risks during testing??
Interview Questions_089: What do you mean by Efforts Estimation??
Interview Questions_090: What do you mean by exit criteria??
Interview Questions_091: What is the minimum requirement to start the execution process??
Interview Questions_092: What is test suite??
Interview Questions_093: Basic rules to generate Test Cases??
Interview Questions_094: Explain different types of test cases??
Interview Questions_095: Difference between positive and negative test cases??
Interview Questions_096: What do you mean by Requirements Traceability Matrix??
Interview Questions_097: Explain Test Execution Flow??
Interview Questions_098: Explain different statuses using to mention in Result column of test case template??
Interview Questions_099: Give me some defect reporting tools names??
Interview Questions_100: Give me some defect tracking tools names??
Interview Questions_101: Explain defect submission process??
Interview Questions_102: Explain bug life cycle along with diagram??
Interview Questions_103: What is the difference between hold and deferred statuses??
Interview Questions_104: What is defect Age??

Bug Life Cycle




Bug Life Cycle:
After reporting the defects, the defect/bug will goes through so many statuses is known as Bug Life Cycle.
Bug Life Cycle describes various states of the defect from its identification to being closed.

Software Testing Life Cycle (STLC) is one of the phases of the SDLC.


Testing department will deals with this STLC Concept.
STLC describes the validation approach of a project /product based on client requirements and expectations.
The phases involved in STLC is

*      Test Initiation: Once the testing department receives the project, the test manager analyzes the application functionalities along with the risk factors (resources, technology, schedule and support) and efforts estimation then finally prepares the test strategy document using BRS , FRS documents.
         The test strategy document is a high level document prepared by Test manager at the initial stages of testing. The document contains testing approach, available resources in terms of tools and standards to be followed during testing.

*      Test Planning: After the preparation of test strategy document, the test lead will prepares test plan document based on the released build from development team.
          The test plan document is a dynamic document (changes according to the released build). It contains information regarding testing approach, test environment, Test engineer names and their responsibilities, risks and mitigations, entry and exit criteria, features to be tested, features not to be tested etc… in detail. The Test plan document is explained in detail later.

*      Test case Design: Once test plan document gets approval from high level team the testing team starts designing test cases with the help of internal training sessions (KT’s).
           With the help of BRS , FRS, Use case documents and test scenarios (provided by test lead) test engineer’s starts designing test cases using test case design techniques and stored in the standard test case design templates of the organization. The template is explained later in detail.

Rules of designing test cases
Ø  Should be simple, easy and understandable.
Ø  Naming convention should be followed.
Ø  Every test case should have the high possibility of identifying defects.
Ø  No duplicate/Redundant.
Ø  Test cases should be consistent.   

Types of Test Cases: Based on the purpose they designed test cases are categorized into 4.
GUI Test cases: Designed to verify the Look –n- feel of the application.
Usability Test cases: Designed to verify the user friendliness of the application to perform operations.
Validation Test cases: Designed to validate the input components. Also called as field level validation test cases
Functionality Test cases: Designed to verify the application behavior based on user operations.

Note: While validating the functionality,
If the test cases are designed to validate the positive flow of events is known as Positive test cases.
If the test cases are designed to validate the negative flow of events is known as Negative test cases.

*      Test Execution: Once done with designing, the written test cases are interchanged among them for cross checking, and then Test Lead will give permission to Test engineers for test cases execution.

Execution is performed in different levels.

Level0 (Sanity/ Smoke Test): Initially, whenever the build is deployed at test environment, Test engineers will perform sanity test to check for the build stability
If stable à moves to next level of execution
Not stable à Rejects the build and requests for the patch files, then moves to the next level of execution.
Level1 (Real/ Comprehensive Testing): In general test cases are gathered based on the application functionalities and forms Test suites. Now these test suites are executed, According to the obtained result the test engineer manages the result status with the following words
Passed: When expected result matches with the actual result.
Failed: When expected result does not matches with the actual result.
Blocked: Due to parent functionality failure not possible to execute the test suite.
Not completed: When some of the steps in test cases need to execute.
Level2 (Re-testing & Regression Testing):  If there are defects identified , those are reported to the development team, After getting the defects fixed the development team releases the modified build to the testing team. The testing team will perform re-testing and regression testing to make sure the defects is resolved and no other areas of the applications are affected due to defect fixing work.
Level3 (Final Regression Testing): This is called end-to-end testing. As a final testing, all the major functionalities are tested before release of the application.

*      Defect reporting and Defect Tracking:  During execution, if the test engineers identify any deviation then they prepare defect profile according to the organization standards and reports to the development team are known as Defect reporting.
Defect reporting can be done either manually or by automation tools.
Finally after reporting, the test engineers have to make sure those defects are resolved is known as defect tracking.

Defect reporting can be done in 2 ways.
Test engineers with below 2 yrs of experience have to send those defects to their test lead.
Test engineers with above 2 yrs of experience can directly report to the development team along with the test lead.

Defect report template is explained later in detail.

*      Test Closure: Based on the exit criteria mentioned in the test plan document, the testing team closes the testing process by wrapping all the resource files and setup environment used in testing and sending to the maintenance team.  
Every phase of STLC is very important …each phase will be explaining with real time examples tomorrow posts. 

Tuesday 21 January 2014

Updation to Interview Questions List Upto SDLC Posts


Updation to Interview Questions List 

Interview Question_052: What is testing??
Interview Question_053: What is defect seeding??
Interview Question_054: When do you choose Regression testing??
Interview Question_055: Is there any protocol for defect reporting??
Interview Question_056: What is the use of KT sessions??
Interview Question_057: Do you think quality assurance team is needed in the organization??
Interview Question_058: At initial stages I opt for the waterfall model for developing an application. Shall I switch to another development model at the middle??
Interview Question_059: According to You which software development model is good. Explain??
Interview Question_060: You have reported particular defect to the developer but he is not accepting it as a defect. Then, what you will do??
Interview Question_061: What are the testing levels in SDLC???
Interview Question_062: Explain unit testing?
Interview Question_063: Explain bottom –up strategy of unit testing??
Interview Question_064: Explain top- down strategy of unit testing??
Interview Question_065: What is functionality testing??
Interview Question_066: What is the difference between object properties coverage and links coverage??
Interview Question_067: What is error handling coverage??
Interview Question_068: What do you mean by non- functionality testing??
Interview Question_069: Difference between stress testing and spike testing??
Interview Question_070: Difference between sanitation testing and sanity testing??
Interview Question_071: Difference between alpha test and beeta test??
Interview Question_072: Difference between sanity testing and smoke testing??
Interview Question_073: Difference between ad-hoc testing and exploratory testing??
Interview Question_074: What is mutation testing??
Interview Question_075: What is pilot testing??
Interview Question_076: Difference between L10N and I18N testing??
Interview Question_077: Suppose some new features are added to the application .So shall I choose maintenance testing instead of Regression Testing??
Interview Question_078: Give me four scenarios in which I can opt for regression testing??
Interview Question_079: How do you test the application if the requirements are not available??
Interview Question_080: Who will perform smoke testing??
Interview Question_081: What is a metric??


Note: If anyone needs clarification and answers for any one of the interview questions...contact me at gayatrisingo@gmail.com

Software Testing Life Cycle (STLC)


Software Testing Life Cycle (STLC) is one of the phases of the SDLC. 

Testing department will deals with this STLC Concept.
STLC describes the validation approach of a project /product based on client requirements and expectations.
The phases involved in STLC is

*      Test Initiation
*      Test Planning
*      Test case Design
*      Test Execution
*      Defect reporting and Defect Tracking
*      Test Closure
Every phase of STLC is very important …each phase will be explaining with real time examples tomorrow posts.
 Today is the updation upto SDLC on the interview questions. 

Monday 20 January 2014

:) Some More Important Testing Techniques :)


Some More Important Testing Techniques:
*      Sanity Testing/Smoke Testing: It is also called as Build Verification Test (BVT)/Build Acceptance Test (BAT)/ Tester Acceptance Test (TAT).  Whenever the build is installed initially first at testing environment the tester’s checks for the stability of the build is called as sanity or smoke testing.
If suppose the build is unstable the testing team rejects the build and requests for the patch file.
*      Ad-hoc Testing: With the help of previous similar applications functionality testing , validating the application is known as ad-hoc testing.
*      Exploratory Testing: Because of the lack of domain knowledge validating the application functionalities while learning functional behavior of application is known as Exploratory testing.
*      Jump/Monkey Testing: Validating the major functionalities of the application due to the lack of time. Also called as Priority based Testing.
*      L10N Testing (Localization Testing):  Verification of the supporting local languages, currency and time.
*      I18N Testing (Internationalization Testing): Verification of the supporting international languages, currency and time.
*      Mutation Testing: To estimate the performance of unit testing team , senior developers changes the logic of the source code is known as mutation testing.
*      Pilot testing: To estimate the performance of testing team , injecting known defects (defect seeding/ Be-bugging ) into the application  source code is known as pilot testing.
*      Re-Testing: After the release of modified build, checking the application to ensure the defects are resolved or not
*      Regression Testing: After the release of modified build, checking to ensure that resolved defects have created any side effects on the existing functionalities is known as regression testing.
*      Maintenance Testing: If any new features are added based on the client request (CR) the crew opt for maintenance testing.