Tuesday, 22 September 2015
Monday, 21 September 2015
Saturday, 19 September 2015
What is Software Bug
10:54:00 / with No comments /
Software Bugs
Such information is helpful to the
developers and the management in deciding the urgency or priority of fixing the
bug during the product-testing phase.
Following Severity Levels are assigned
during the Testing Phase: Critical – is the most dangerous level, which does not permit continuance of the testing effort beyond a particular point. Critical situation can arise due to popping up of some error message or crashing of the system leading to forced full closure or semi closure of the application. Criticality of the situation can be judged by the fact that any type of workaround is not feasible. A bug can fall into "Critical" category in case of some menu option being absent or needing special security permissions to gain access to the desired function being tested.
High – is a level of major defect under which the product fails to behave according to the desired expectations or it can lead to malfunctioning of some other functions thereby causing failure to meet the customer requirements. Bugs under this category can be tackled through some sort of workaround. Examples of bugs of this type can be mistake in formulas for calculations or incorrect format of fields in the database causing failure in updating of records. Likewise there can be many instances.
Medium – defects falling under this category of medium or average severity do not have performance effect on the application. But these defects are certainly not acceptable due to non-conformance to the standards or companies vide conventions. Medium level bugs are comparatively easier to tackle since simple workarounds are possible to achieve desired objectives for performance. Examples of bugs of this type can be mismatch between some visible link compared with its corresponding text link.
Low - defects
falling under low priority or minor defect category are the ones, which do not
have effect on the functionality of the product. Low severity failures
generally do not happen during normal usage of the application and have very
less effect on the business. Such types of bugs are generally related to looks
& feel of the user interface & are mainly cosmetic in nature.
SDLC
10:43:00 / with No comments /
SDLC -
Software Development Life Cycle
Software products, which don’t happen
to be user friendly just, don’t find any place in a highly
competitive market of this modern era, although they might have been developed
with the help of the best available technology. The ease of use of the product
is of paramount importance compared to its internal technology, which the
customer is not going to see.
Thus for the creation of Innovative Software products, the Development Life Cycle undergoes six phases like:
1) Initial Phase Thus for the creation of Innovative Software products, the Development Life Cycle undergoes six phases like:
2) Analysis Phase
3) Design phase
4) Coding Phase
5) Testing Phase
6) Delivery and Maintenance phase
Phase – 1: Initial Phase: Involves Interaction with the customer and capturing all the requirements.
Personnel Involved: 1) Business Annalist – BA & 2) Engagement Manager - EM
Process Involved: This phase begins with a technical meeting between the Business Analyst & the customer. The Business Analyst (BM) understands all the requirements from the customer & prepares comprehensive requirements document with the help of standard templates & check sheets used by the company. The requirements document forms the basis for further study & action by the Engagement Manager (EM).
The Engagement Manager tries to hunt for extra requirements if any, which might not be apparent immediately but might involve extra cost. To resolve ambiguous requirements if any, the Engagement Manager organizes demonstration of a prototype if necessary. Such action of quick demonstration of a prototype, which is nothing but a rapidly developed model for the customer is found extremely helpful to remove ambiguities from the requirements on one hand & help winning the confidence of the customer on the other.
Ultimate objective of this phase is to prepare a most comprehensive customer requirements document. Many companies call it with different names like:
# BRS: Business Requirement Specification.
# FRS: Functional Requirement Specification.
# URS: User Requirement Specification.
# CRS: Client / Customer Requirement Specification.
# BDD: Business Design Document.
# BD : Business Document.
Depending upon the system followed by various companies, sometimes a single document is maintained, while some companies may go in for two documents. In this case, Broad / outlining information is recorded in the BRS (Business Requirement Specification), while detailed information is recorded in FRS (Functional Requirement Specification).
Phase – 2: Analysis Phase: Involves Feasibility Study, Broad Planning, Technology selection, Requirement analysis etc.
Personnel Involved: 1) System Annalist – SA, 2) Project Manager – PM & 3) Team Manager -TM
Process Involved: To understand the nature of the program to be developed, the System Annalist focuses on understanding the information domain of the software, its necessary functions, behaviors, performance and necessary interfaces etc. The major objective of the analysis phase is to find out the need and to define the problem, which needs to be solved.
The process covers four distinct analytical operations like:
1) Feasibility Study: Involves detailed study of all the requirements to ascertain as to whether it is possible to meet all the requirements or not. There may be a need for the development team to visit the customer place for study of their system. They development team may investigate the need for possible software automation within the boundaries of the given system.
2) Broad Planning: Involves an outline document on planning of all resource and time wise planning.
3) Technology Selection: Involves identification, analysis & compilation of various tools & technologies, which would be needed to accomplish the project successfully.
4) Requirement analysis: Involves identification & compilation of various requirements of human resources, hardware & software, which would be needed to accomplish the project successfully.
Ultimate objective of this phase is to prepare a most comprehensive document called SRC or Software Requirement Specification.
Phase – 3: Design Phase: Involves hard core design activities like 1) HLD - High Level Designing & 2) LLD - Low Level Designing
Personnel Involved: 1) Chief Architect – CA is responsible for High Level Designing, 2) Technical Lead – TL is responsible for Low Level Designing
Process Involved: The Chief Architect – CA, starts The entire designing process. This involves subdivision of the entire project into various modules & the process is adequately explained with the help of flow charts & diagrams. Thereafter, the Technical Lead – TL further subdivides these main Modules into sub modules with the help of Unified Modeling Language - UML. The technical lead is responsible for creating the Pseudo Code which is a comprehensive set of instructions written in English language & are meant for guiding the actual code developers.
Ultimate objective of this phase is to prepare a Technical Design Document - TDD.
Phase – 4: Coding Phase: Involves actual Programming or Coding.
Personnel Involved: Code Developers or Programmers
Process Involved: The design needs to be translated into a machine-readable form. There comes the process of code generation. With the help of Pseudo Code written by the Technical Lead – TL during the Design Phase, Developers carry out the development of the actual source code. The entire coding process is bound by stipulated coding standards defined by the company.
Ultimate objective of this phase is to prepare a Source Code Document - SCD.
Phase – 5: Testing Phase: Involves rigorous testing of the application developed by the programmers.
Personnel Involved: Testing Engineers.
Process Involved: Different testing methodologies are practiced to detect the software bugs, which happen to take birth during the previous phases. Various testing tools and methodologies are available these days. Some companies create their own testing tools, which are custom made to suit their own development functions.
# In fact the testing process begins right from the customer requirement document. A good test engineer starts his work by thorough study of the requirement document. In case of any doubt arising during understanding of customer requirements, the test engineer raises a Review Report –RR, which contains details of all the doubts.
# Having clarified all the doubts & ambiguities, and after having a thorough understanding of the requirements, the test engineer shall write the test cases with the help of company specific test case templates.
# Execution of the test cases upon the release of the first build by the developers. This follows recording of defects in a defect profile document.
# The defect profile document is transferred to the developers for improvements / eradication of defects found by them. The testing process halts here till next build with improvements is released by the developers.
# The entire testing process involving execution of test cases is repeated on the new build. This process of code improvement, subsequent testing on new builds & finding of defects continues again and again till the product is free from defects.
# The testing process is decided to be stopped after gaining reasonable confidence of product being defect free
Ultimate objective of this phase is to produce a Quality Product.
Phase – 6: Delivery and Maintenance phase: Involves Installing the newly developed application under the client environment.
Personnel Involved: Senior Testing Engineers who are entrusted the task of Deployment Engineers.
Process Involved:
# Delivery: After the code is appropriately tested, it is approved for release, it is deployed into a production environment. The deployment of application is done with the help of guidelines provided in the application deployment document.
# Maintenance: After the deployment of the application, client may encounter many task-based problems.
Maintaining and enhancing the software to cope up with newly discovered problems or new requirements can take far more time than the initial development of the software. It may be necessary to add some code, which does not fit the original design to correct an unforeseen problem. It may be that the customer is requesting more functionality, and some code can be added to take care of his requests.
STLC
10:41:00 / with No comments /
Software Testing Life Cycle:
Software testing life cycle or STLC refers to a comprehensive group of testing related actions specifying details of every action along with the specification of the best time to perform such actions. There can not be a standardized testing process across various organizations, however every organization involved in software development business, defines & follows some sort of testing life cycle.
STLC by & large comprises of following Six Sequential Phases:
1) Planning of Tests
2) Analysis of Tests
3) Designing of Tests
4) Creation & Verification of Tests
5) Execution of Testing Cycles
6) Performance Testing, Documentation
7) Actions after Implementation
Every company follows its own software testing life cycle to suit its own requirements, culture & available resources. The software testing life cycle can’t be viewed in isolation, rather it interacts with the every phase of Software Development Life Cycle (SDLC). Prime focus of the software testing life cycle is on managing & controlling all activities of software testing. Testing might be manual testing or an automated testing using some tool.
1) Planning of Tests:
In this phase a senior person like the project manager plans & identifies all the areas where testing efforts need to be applied, while operating within the boundaries of constraints like resources & budget. Unless judicious planning is done in the beginning, the result can be catastrophic with emergence of a poor quality product, dissatisfying the ultimate customer. Planning is not limited just to the initial phase, rather it is a continuous exercise extending till the end.
During the planning stage, the team of senior level persons comes out with an outline of Testing Plan at High Level. The High Level Test Plan comprehensively describes the following:
- Scope of Testing :
Defining the areas to be tested, identification of features to be covered
during testing
- Identification of Approaches for Testing: Identification of approaches including types of testing
- Defining Risks:
Identification of different types of risks involved with the decided plan
- Identification of resources : Identification of resources like man, materials &
machines which
need to be deployed during Testing
- Time schedule: For
performing the decided testing is aimed to deliver the end product as per
the commitment made to the customer.
Involvement of software testers begins in the planning phase of the software development life cycle. During the design phase, testers work with developers in determining what aspects of a design are testable and with what parameters those tests will work.
Based upon the High Level Test Plan Document, further nitty-gritty’s covering the following are worked out.
- Identification
of Types of Testing to be performed during various stages of Software
Development Life Cycle.
- Identification
of extent to which automation needs to be done.
- Identification
of the time at which automation is to be carried out.
- Identification
of documentation required for automated testing
The Software project can’t be
successful unless there is frequent interaction among various teams involved in
Coding & Testing with the active involvement of the Project Managers,
Business Analysts or even the customer. Any deficiencies in the decided test
plans come to the surface, during such meetings of cross-functional teams. This
provides an opportunity to have a rethinking & refining the strategies
decided for testing.
Based upon the customer requirements a
detailed matrix for functional validation is prepared to cover the following
areas:- Ensure
that each & every business requirement is getting covered through some
test case or the other.
- Identification
of the test cases best suited to the automated testing
- Identification
of the areas to covered for performance testing and stress testing
- Carry out detailed review of documentation covering areas
like Customer Requirements, Product Features & Specifications and
Functional Design etc.
This phase involves the following:
- Further
polishing of various Test Cases, Test Plans
- Revision
& finalization of Matrix for Functional Validation.
- Finalization
of risk assessment methodologies.
- In
case line of automation is to be adopted, identification of test cases
suitable for automation.
- Creation
of scripts for Test cases decided for automation.
- Preparation
of test data.
- Establishing
Unit testing Standards including defining acceptance criteria
- Revision
& finalization of testing environment.
This phase involves the following:
- Finalization
of test plans and test cases
- Completion
of script creation for test cased decided for automation.
- Completion
of test plans for Performance testing & Stress testing.
- Providing
technical support to the code developers in their effort directed towards
unit testing.
- Bug
logging in bug repository & preparation of detailed bug report.
- Performing
Integration testing followed by reporting of defects detected if any.
5) Execution of Testing Cycles:
This phase involves the following:
- Completion
of test cycles by executing all the test cases till a predefined stage
reaches or a stage of no detection of any more errors reach.
- This
is an iterative process involving execution of Test Cases, Detection of
Bugs, Bug Reporting, Modification of test cases if felt necessary, Fixing
of bugs by the developers & finally repeating the testing cycles.
This phase involves the following:
- Execution
of test cases pertaining to performance testing & stress testing.
- Revision
& finalization of test documentation
- Performing
Acceptance testing, load testing followed by recovery testing
- Verification
of the software application by simulating conditions of actual usage.
This phase involves the following:
- Evaluation
of the entire process of testing.
- Documentation
of TGR (Things Gone Right) & TGW (Things Gone Wrong)
reports. Identification of approaches to be followed in the event of
occurrence of similar defects & problems in the future.
- Creation
of comprehensive plans with a view to refine the process of Testing.
- Identification
& fixing of newly cropped up errors on continuous basis.
Life Cycle of Software Testing
( STLC )
|
||
Phase
|
Activities
|
Outcome
|
Planning of Tests |
($) Creation of a Test Plan of High Level |
Refined Test Plans & Specifications |
Analysis of
Tests |
($) Creation of fully descriptive Test Plan ($) Creation of Matrix for Functional Validation ($) Creation of Test Cases |
Refined Test Plans, Test Cases & Matrix for Functional
Validation |
Designing of Tests |
($) Revision of Test Cases ($) Selection of Test Cases fit for automation |
Refined Test Cases, Input Data Sets & Documents for
Assessment of Risk |
Creation & Verification of Tests |
($) Creation of scripts suitable for Test Cases for automation |
Detailed Procedures for Testing, Testing Scripts, Test Reports
& Bug-Reports |
Execution of Testing Cycles |
($) Completion of Cycles of Testing |
Detailed Test Reports & Bug-Reports. |
Performance Testing, Documentation |
($) Execution of Test Cases related to performance tests &
Stress Testing ($) Detailed documentation |
Test Reports, Documentation on various metrics used during
testing |
Actions after Implementation |
($) Evaluation of all Processes of Testing |
Detailed Plans for improving the process of testing |
STLC
10:38:00 / with No comments /
Software Testing Life Cycle:
Software testing life cycle or STLC refers to a comprehensive group of testing related actions specifying details of every action along with the specification of the best time to perform such actions. There can not be a standardized testing process across various organizations, however every organization involved in software development business, defines & follows some sort of testing life cycle.
STLC by & large comprises of following Six Sequential Phases:
1) Planning of Tests
2) Analysis of Tests
3) Designing of Tests
4) Creation & Verification of Tests
5) Execution of Testing Cycles
6) Performance Testing, Documentation
7) Actions after Implementation
Every company follows its own software testing life cycle to suit its own requirements, culture & available resources. The software testing life cycle can’t be viewed in isolation, rather it interacts with the every phase of Software Development Life Cycle (SDLC). Prime focus of the software testing life cycle is on managing & controlling all activities of software testing. Testing might be manual testing or an automated testing using some tool.
1) Planning of Tests:
In this phase a senior person like the project manager plans & identifies all the areas where testing efforts need to be applied, while operating within the boundaries of constraints like resources & budget. Unless judicious planning is done in the beginning, the result can be catastrophic with emergence of a poor quality product, dissatisfying the ultimate customer. Planning is not limited just to the initial phase, rather it is a continuous exercise extending till the end.
During the planning stage, the team of senior level persons comes out with an outline of Testing Plan at High Level. The High Level Test Plan comprehensively describes the following:
- Scope of Testing :
Defining the areas to be tested, identification of features to be covered
during testing
- Identification of Approaches for Testing: Identification of approaches including types of testing
- Defining Risks:
Identification of different types of risks involved with the decided plan
- Identification of resources : Identification of resources like man, materials &
machines which
need to be deployed during Testing
- Time schedule: For
performing the decided testing is aimed to deliver the end product as per
the commitment made to the customer.
Involvement of software testers begins in the planning phase of the software development life cycle. During the design phase, testers work with developers in determining what aspects of a design are testable and with what parameters those tests will work.
Based upon the High Level Test Plan Document, further nitty-gritty’s covering the following are worked out.
- Identification
of Types of Testing to be performed during various stages of Software
Development Life Cycle.
- Identification
of extent to which automation needs to be done.
- Identification
of the time at which automation is to be carried out.
- Identification
of documentation required for automated testing
The Software project can’t be
successful unless there is frequent interaction among various teams involved in
Coding & Testing with the active involvement of the Project Managers,
Business Analysts or even the customer. Any deficiencies in the decided test
plans come to the surface, during such meetings of cross-functional teams. This
provides an opportunity to have a rethinking & refining the strategies
decided for testing.
Based upon the customer requirements a
detailed matrix for functional validation is prepared to cover the following
areas:- Ensure
that each & every business requirement is getting covered through some
test case or the other.
- Identification
of the test cases best suited to the automated testing
- Identification
of the areas to covered for performance testing and stress testing
- Carry out detailed review of documentation covering areas
like Customer Requirements, Product Features & Specifications and
Functional Design etc.
This phase involves the following:
- Further
polishing of various Test Cases, Test Plans
- Revision
& finalization of Matrix for Functional Validation.
- Finalization
of risk assessment methodologies.
- In
case line of automation is to be adopted, identification of test cases
suitable for automation.
- Creation
of scripts for Test cases decided for automation.
- Preparation
of test data.
- Establishing
Unit testing Standards including defining acceptance criteria
- Revision
& finalization of testing environment.
This phase involves the following:
- Finalization
of test plans and test cases
- Completion
of script creation for test cased decided for automation.
- Completion
of test plans for Performance testing & Stress testing.
- Providing
technical support to the code developers in their effort directed towards
unit testing.
- Bug
logging in bug repository & preparation of detailed bug report.
- Performing
Integration testing followed by reporting of defects detected if any.
5) Execution of Testing Cycles:
This phase involves the following:
- Completion
of test cycles by executing all the test cases till a predefined stage
reaches or a stage of no detection of any more errors reach.
- This
is an iterative process involving execution of Test Cases, Detection of
Bugs, Bug Reporting, Modification of test cases if felt necessary, Fixing
of bugs by the developers & finally repeating the testing cycles.
This phase involves the following:
- Execution
of test cases pertaining to performance testing & stress testing.
- Revision
& finalization of test documentation
- Performing
Acceptance testing, load testing followed by recovery testing
- Verification
of the software application by simulating conditions of actual usage.
This phase involves the following:
- Evaluation
of the entire process of testing.
- Documentation
of TGR (Things Gone Right) & TGW (Things Gone Wrong)
reports. Identification of approaches to be followed in the event of
occurrence of similar defects & problems in the future.
- Creation
of comprehensive plans with a view to refine the process of Testing.
- Identification
& fixing of newly cropped up errors on continuous basis.
Life Cycle of Software Testing
( STLC )
|
||
Phase
|
Activities
|
Outcome
|
Planning of Tests |
($) Creation of a Test Plan of High Level |
Refined Test Plans & Specifications |
Analysis of
Tests |
($) Creation of fully descriptive Test Plan ($) Creation of Matrix for Functional Validation ($) Creation of Test Cases |
Refined Test Plans, Test Cases & Matrix for Functional
Validation |
Designing of Tests |
($) Revision of Test Cases ($) Selection of Test Cases fit for automation |
Refined Test Cases, Input Data Sets & Documents for
Assessment of Risk |
Creation & Verification of Tests |
($) Creation of scripts suitable for Test Cases for automation |
Detailed Procedures for Testing, Testing Scripts, Test Reports
& Bug-Reports |
Execution of Testing Cycles |
($) Completion of Cycles of Testing |
Detailed Test Reports & Bug-Reports. |
Performance Testing, Documentation |
($) Execution of Test Cases related to performance tests &
Stress Testing ($) Detailed documentation |
Test Reports, Documentation on various metrics used during
testing |
Actions after Implementation |
($) Evaluation of all Processes of Testing |
Detailed Plans for improving the process of testing |
Subscribe to:
Posts (Atom)
Blog Archive
-
▼
2015
(128)
-
▼
September
(67)
- Register on Shaadi.Com
- Register For Distance Education
- Want to do Distance Edcation?
- What is Software Bug
- SDLC
- STLC
- STLC
- Difference between STLC & SDLC
- SQL Material for Experienced Candidates
- Joins in SQL
- QTP FAQ-4
- QTP FAQ-3
- QTP FAQ-2
- Interview Questions On Testing
- Questions on Load Testing
- Interview Questions on Automation
- QTP FAQ
- Quality Center(Defect Reporting Tool)
- QTP Frequently Asked Questions
- SQL Plus Questions
- GUI Errors
- GUI Errors
- Real Time Defects in DotNet
- QTP-Inserting Output Values
- QTP-Parameterization
- QTP-Parameterization
- QTP-Debugging Tests
- QTP-Synchronization
- QTP-Analyzing Test Results & Reporting
- QTP-Environment Variables
- Regular Expressions in QTP
- Most Important Manual Testing Questions and Answers
- QTP Real time Experienced Questind with Answers
- QTP-Excel Object Model
- QTP-Excel Object Model
- QTP Script Examples
- Manual Testing Tutorials
- Types of Test tool
- Recording and Running-QTP
- Test Plan Template
- SQL Queries for DB Testing
- VB Script Variables
- Software Testing Definition
- Object Repository Interview Questions with Answers
- QTP Methods / Operations
- VB Script Variables
- SQL Queries for DB Testing
- SQL Queries For DB Testing
- Prepare for QTP Interview
- WinRunner Interview Questions with answers
- VBScript » Objects » Dictionary
- VBScript » Objects » RegExp
- VBScript Objects in FileSystemObject
- VBScript » Objects » Err
- VBScript » Objects » TextStream
- Manual Testing Test plan Template
- Manual and Automation Software Testing Interview Q...
- Manual and Automation Software Testing Interview Q...
- Software Testing Most Frequently Asked Questions a...
- Real time Manual Testing Interview Questions and A...
- Manual Testing Interview Questions and Answers part-1
- Test Plan
- 3+ experience Manual Testing interview questions a...
- 3+ Experience Manual Testing interview questions a...
- 3+ Experience Manual Testing interview questions a...
- 3+ Experience Manual Testing interview questions a...
- Project Management
-
▼
September
(67)