Manual Testing: by Zeeeshan Alam Khan
Manual Testing: by Zeeeshan Alam Khan
By
ZEEESHAN ALAM KHAN
SOFTWARE TESTING
It is the process of checking any software application is meeting all the customer
requirements or not
QUALITY
When we have reached validating all the requirements and found application is defect
free then we can say project or product is quality.
PROJECT
Any software application is developed based on the single customer requirement then
we can say it is a project.
Ex: ICICI Application, Stitching Shirt
PRODUCT
Any software application is developing based on the software industry requirement then
we can say it is a product.
Ex: Windows XP, GMAIL
QUALITY ASSURANCE
It is the process of verifying all the standards and processes of company for giving right
product to the customer.
We are going to verify are we building the right product or not.
QUALITY CONTROL
It is the process of validating the application, based on the requirements and verify are we
building the product right or not.
VERIFICATION
It is a technique in quality assurance and we will verify the process for delivering the right
product to the customer.
VALIDATION
It is a technique under quality control, here we will do the actual testing for delivering
quality software to the customer.
SOFTWARE DEVELOPMENT LIFE CYCLE
SDLC is divided into 6 phases for developing any software , we have to choose one of
the process for successfully delivering quality product to the customer. The phases as
follows:
Requirement
Analysis
Design
Coding
Testing
Delivery and Maintenance
REQUIREMENT
Process: Based on the appointment date given by the client along with project manager,
development lead, technical lead( all are optional ) along with business analyst will go to
the client location and gather all the requirements of a customer.
After gathering the requirements from the client, they will come back to the
company and they will start documenting the requirements which is easily
understandable to all the teams. After that business analyst will share documented
requirements to the customer, he will verify all his requirements are covered or
documented and he will update to the business analyst if at all any requirements need to
updating documented requirements.
Once business analyst will get the approval from the client then he will give sign off to
the requirement document.
Output:
SRS - Software requirement specification
BRS - Business requirement specification
FRS - Functional requirement specification
BD - Business document
BDD - Business design document
ANALYSIS PHASE
1. Feasibility Study
2. Selection of Technology and Environment
3. Requirement Analysis
4. Team Building
5. Understanding Document
6. Planning
Feasibility Study:
As per the budget and time provided by the bidding teams here we are going to
cross verify whether we are able to complete entire project by above budget and time.
If there discussion demands any changes in the budget or time with the help of
business analyst they will take it to the customer.
Requirement Analysis:
project manager , development lead, test lead are going to discuss with the
business analyst for understanding of the requirements more clearly, if at all they are
having any doubts or queries they are going to ask in this session.
Team Building:
Based on the understanding of the requirements in the above analysis phase,
they are going to find out how many number of resources are required for both
development and testing.
Based on the availability of resources they may use from the bench strength or
they may recruit from outside.
Understanding Document:
For understanding all the requirements business analyst is going to provide a
requirement sessions to the both development and testing teams.(nearly it will be for 7 to
10 days)
Based on the understanding they have to prepare their own understanding
document which is going to use for giving reverse knowledge transfer presentation to the
client.
Planning:
With the help of development lead and testing lead, project manager is going to
prepare plan and he will send it to the client for approval.
Participants: BA, PM, TL, Test Lead, Development Team, Test Team, Architects
Output: Understanding Document and Project Plan
Note: requirement query document is the document containing questions of both
development and testing people and then either development or test lead are going to
share this document to business analyst for update.
DESIGN PHASE:
Participants: Architects
Process: Based on the understanding of the requirements architects will prepare the
design documents which are going to use for developing the GUI part of the application
along with understanding of the application flow.
Output:
1. Design document
a) High level design document
b) Low level design document
Note: unified modelling language is used for creating the diagrams, flow charts with the
effective manner and easily understanding to the all team members.
CODING PHASE
Note: it is a part of software containing some features and deliver to the testing team for
verifying the application functionality
TESTING PHASE
1. Test Plan
2. Test Scenario and test cases
3. Test Case execution
4. Results analysis
5. Bug Tracking
6. Reporting
Testing is the process for ensuring quality of the software and update to the client on
periodic basis about status of this software application.
Test Plan:
It is a document containing all the project activities under testing.
This document will tell us when and what need to do by the testing team.
Based on this document we are going to start activities accordingly.
Test Scenarios:
Usecases: Usecases are having diagram representation of actors, actions involved as
per the requirements(Architechs will prepare these diagrams).
Scenarios:
These are high level verification points or high level ways of testing the entire
application.
We need to derive test scenarios from requirements document and knowledge
of all the requirements.
Test Cases:
These are low level verification points which we need to derive from test
scenarios.
There is no mandatory need to derive few test cases. We can derive any number
of test cases based on the requirements.
Test cases having unique id, test steps, description, expected results, actual
results, comment section which will allow us to easily understand what we need to verify
in our application.
Delivery:
Whenever testing phase is completed, it means all the test cases need to
execute by the testing team and there are no open defects with the development team
then we are going to deliver quality software to the client.
Based on the client, with the help of his own team going to deploy it in real
time environment so that it can be used by the end users.
Maintenance:
Whenever end users keep on working on our software, when they get any
issues which leads to stop their business then with the help of client or vendors they
are going to post those all issues to the specific development team for fixing.
The same process will continue number of years as per mentioned in
SOW(Statement of Work).
Testing methodology
The number of methods of testing we used to do for getting quality on entire application
to find whether it is working according to the requirements or not.
There are 4 different methods we can use for ensuring application quality.
1. Static Testing
a. Review
b. Walk-through
c. Inspection
2. White Box
3. Black Box
4. Grey Box
1.Static Testing:
It is the type of testing done by the people who are having 100% knowledge on
entire project requirements.
Here we are going to check entire process and documentation as per the
company standards and process.
Review:
Peer Review: This is the review done by the same designation people, will update us any
enhancements on the same document.
Lead review: This is the review done by all the test leads, he will go through the all the
team members documents and will update whether we are on right track to deliver the
right product to the client.
Walk-through:
It is more formal than review, here we are going to discuss about specific
document (requirements, test scenarios, test cases, test case results, defects ) whether
these all are according to the client requirements are not, we are going to verify.
Moderator will be sending a clear note to the members who are required with
prior intimation.
Inspection:
It is more formal then walk-through, separate quality assurance(QA) team is
going to inspect our standards and processes, whether we are following or not.
If at all they found anything not following by the company standards it should
be escalated to the higher management.
These all process verification will be handled by auditing department (QA Team)
Module: It contains collection of features and we are able to perform one specific
Operation or activity. In this level of testing we are going to get quality on all modules
individually.
Integration Level Testing:
Once module testing is done, we are going to verify interrelations between
individual modules whether data is passing from one module to another modules or not.
Here we will test all the modules integration and ensure entire application is
integrated very well.
Note: System testing justifies whether we are able to deliver quality product to the client
and when we can deliver.
Pre-production Testing:
It is a type of testing done by the client side team to ensure system is working
and stable in the production simulated environment.
It will be similar to the production testing but before going to deploy it in
production, we will create duplicate environment to the production and we will ensure
application is stable.
Production Testing:
It is a type of testing done on real time environment or live environment,
along with the end users, client side testing team will perform End-to-End testing to
ensure everything is working according to the client expectations.
White Box Testing Level
Before application is delivered to the testing team, development team will perform few
types of testing's for restricting number of defects moving from development phase to
testing phase.
1. Unit Testing
2. Integration Level Testing
Unit Testing:
It is a type of testing done by the development team by checking every piece
of code and ensure every unit is working according to the requirements.
Parent1
Parent1 Parent1
Bottom Up Approach:
Development team will start developing from low priority or child module to
high priority or parent module and integrated accordingly from bottom to top till end of
all the parent and child modules
Parent1
Parent1 Parent1
Hybrid Approach:
It is a type of approach covers combination of both top down and bottom up
approaches.
The way development team is comfortable for developing either parent or child,
they will integrate both the ways till end of all the parent and child modules.
Parent1
Parent1 Parent1
It is a temporary program developed by the development team for replacing the
mandatory module which is required for testing people to test all the integrated modules.
It will work as a normal behavior and based on the SRN document. We have to find what
are all the features or functionalities this temporary program is going to provide.
If it is a top down approach integration, then we are calling this temporary program as
stub.
If it is a bottom up approach integration, then we are calling this temporary program as
driver.
SDLC Models
Waterfall Model:
Requirement
Analysis
Design
Coding
Testing
Advantages:
For any project if all the requirements are stable, then this is the suitable model to deliver
quality product.
Minimal budget is required for the project if requirement are stable.
Drawbacks:
It will not allow moving from bottom to up when there is a change in requirement then
again we have to start from requirement phase.
Verification technique will not be available so that we cannot ensure everything is
happening in each phase according to the requirement. Hence all the issues leads to find in
testing phase
For any project which are having unstable requirements, it is not at all suitable, if we
continue then it will become a deliver quality product in unexpected time and lot of budget
required.
Spiral Model:
This model is going to overcome few of the disadvantages getting in the waterfall
model.
In this model we will deliver entire project in multiple cycles and we are going to deliver
few of the requirements in each cycle so that in ‘n’ number of cycles we will deliver entire
project.
If at all client asked us to change or update any of the requirements, we should need to
incorporate and continue with the next cycle.
Advantages:
High visibility will be there for client on his product or project.
For every cycle client will be receive some part of the application based on that client
may give feedback to the company for updating or changing the any of the features.
Risk management will be handled properly for each cycle, it will allow us to deliver in
ontime, if at all we did not get any major changes from the client.
Drawbacks:
Defect identification will be happen only in the testing phase.
More time consuming.
More budget is required.
n
Requirement
Analysis
1
Testing
Designing
Coding
Prototype Model:
Based on the requirements received from the client company is going to start
preparing prototype by covering all the requirements. Company will share the same to
the client for approval.
If at all client reviewed and updated few more changes then we have to update our
prototype and share it with the client. This process will continue till either acceptance or
rejection of the prototype.
If the client rejected the prototype then we have to stop our work on it.
If at all he accepted the prototype then we have to kick start with the actual work on it.
Advantages:
Client visibility will be more.
Scope of getting the projects from the client will be more based on the client satisfaction
on prototype.
Requirement
Analysis
Prototype
Send
Client
Not Accept Accept
Waterfall
Stop
model
Drawbacks:
The prototype cost will be taken care by the company, if at all client rejects the Prototype,
company is going to loose entire cost spent on prototype.
Mistake done in requirement, analysis, design, coding are going to find in testing phase,
due to this we may deliver in ontime or not.
V – V MODEL
Requirement UAT
Advantages:
With the verification we can cross check in every phase whether we are on right track as
per the requirement.
Testing team will be involving from start, any deviations to the requirements they can
identify in the earlier stage.
We can assure quality product or project deliver to the client in ontime and onbudget.
Disadvantages:
AGILE MODEL
For any projects/products which are not having stable requirements then they have to
approach agile model as it is most suitable and more visibility to the client on daily basis.
Scrum master is the person who is going to manage all the testing and development
activities on daily basis, he will monitor and ensure every thing is going on as per the
sprint time lines.
Product owner is the person from client side and he will cross check all the activities
from both development and testing team are working according to the client
requirements.
All the requirements are splited into stories by the scrum master and he will derive tasks
from the stories based on the priority to the client and depends on the time lines given
by the team(Estimations) and he will include all those tasks into that sprint and
according teams needs to work.
Usually sprint duration will be nearly 2-3 weeks.
This process will continue till end of all the stories given by the client.
Coding Scrum Meeting
Testing
Design
Sprint
Delivery Analysis
Sprint
Project Divide High priority
Stories (scrum Demo
requirements Tasks Testing
masters)
Enhancements
Defects
Scrum Meeting/Daily Stand up meetings:
This is the meeting conducted by the scrum masters with development and testing
teams for tracking the project/product development activities.
If at all anybody struck with any issues they can update those issues and resolutions will
be found in this meeting.
Here every body need to update tasks covered on that day and planning of tomorrow
and regarding the issues.
Advantages
High visibility will be there to the client
On daily basis client will check this product or project features if at all he found to
change any thing then immediately he can update to the scrum master so that
development teams will try to change those feature instantly in coming sprints.
It wont take more time for the development and testing activities.
Disadvantages
Both development and testing team will be allocated with some tasks. So that teams
feels more busy with work.
TYPES OF ENVIRONMENTS
The place or area where we are going to develop the application or accessing the
application is called environment.
Four types of environment will be there
1. Standalone Environment:
Any application or software is installing or using in single system for personal usage
then that environment is called standalone environment.
We cannot access the data from other systems because it will be limited to specific
system.
PL
BL
DL
2.Client Server Environment:
The application or software which we are able to access in the specific area or
limited environment is called client server environment.
We are making one system as a server and installing the application after that it will
allow us to access the application from the server
DL
PL
BL
3.Web Environment:
Any application or software which we are able to access from world wide web that
environment is called web environment.
Application will be displayed into the server and it will be linked with the internet by
making or giving a URL based on that we can access the application by using the same
URL in the internet.
SERVER SERVER CLIENT
DL BL PL
4.Distributed Environment:
Any application or software is installing or deploying into the server system in multiple
locations using many business logic layers and database layers is called distributed
environment.
In this environment even though load is getting increased and though one or more servers
will be down, then automatically requests will connect to the other business logic layers and
database layers and it will give the response.
Ex: Gmail application, Google
SERVER SERVER CLIENT
DBL BL PL
DBL BL PL
DBL BL PL
TYPES OF TESTING
1. Smoke Testing
2. Sanity Testing
3. Retesting
4. Regression Testing
5. Compatibility Testing
6. Performance Testing
7. Install/Uninstall Testing
8. Adhoc Testing
9. Usability Testing
10. Security Testing
11. Functional Testing
12. GUI Testing
13. End to End Testing
14. Recovery Testing
1. Smoke Testing
It is type of testing conducted by the testing team for checking build stability whether
it is meeting the acceptance criteria or not
In this testing we are going to verify all the basic functionalities are working or not
based on this we will accept or reject the build.
In smoke testing, atleast 70-80% of the basic functionalities should work, then only we
can say that it meets the acceptance criteria, accordingly our test lead will send a mail to
development lead saying that we are accepting the build for major testing.
If build is not meeting the acceptance criteria then our test lead will send a mail to
development lead saying that rejecting the build by specifying what all the features are
not working.
Usually smoke testing will be done in 2-3 hours, but based on the company, it may
vary.
2.Sanity Testing:
It is used for finding the build stability for accepting the build for major testing by
executing all the basic functionalities related test cases and next level major test cases.
If it meets acceptance criteria, then we will accept the build for major testing.
3.Retesting:
It is first type of testing after smoke testing, whenever we have started our test case
execution, then it there will be a chance for finding deviations in our application, then we
have to update, these deviations or issues or bugs or defects to the development team.
Development team will cross check all the deviations and they will fix these all issues and
sending back to the testing team for testing again to find whether fixed deviations are
working according to the requirements are not. This type of testing is called retesting.
4.Regression Testing:
It is type of testing used for finding the stability of the entire application.
This is used for finding the impacted features due to the fixing of the defects or addition
of the new features.
With these above two cases we are having chance of getting impacted, with this existing
functionalities will not work even though changed feature or added feature are working.
5.Compatibility Testing:
Compatibility will give us result our application is supporting all the browsers, operating
system, environments, based on the client request.
Note: what are all the environments we have to check in the compatibility given by the
client.
6.Performance Testing:
It is used for finding the application response time based on the multiple sets of load putting
on the application.
Application is giving response in less time with multiple set of loads then we can say
application performance is very high and it will be satisfactory to the customers.
If at all application is taking more time for giving the response then we can say application
performance is very poor.
Load Testing:
By giving the multiple set of loads, analyzing the performance time or response time is called
load testing.
Here in this testing we are going to find application response times for the different level of
loads.
Stress Testing:
By giving different set of loads continuously for some time, we are going to find application
stability and where it is getting crashed will be analyzed in the stress testing.
If at all they find peak level of load for the application is bearing, then they have to follow
some other ways to overcome the same.
Note: for the application which are used by the number of customers or end users globally
then they have to concentrate more on performance testing for giving high satisfaction to
the customers or end users.
7.Install/Uninstall Testing:
Install Testing:
Here in this section we are going to find how our product is installing properly or not for
multiple hardware, software is called installation testing.
This testing will be available only for the products which are used in standalone
environments
Uninstall Testing:
If at all we install any product then it is going to create supporting data into our machine by
using uninstallation testing we have to ensure supported data is getting removed properly or
not.
8.Adhoc Testing:
Due to the lack of time, we could not able to manage the testing activities effectively then
adhoc testing will be the testing playing major role.
Here we are not maintaining documentation like test scenario, test cases because due to
insufficient time.
Adhoc testing is the testing done by the experienced testers based on experience they are
having understanding on the requirements.
Note: adhoc testing will not give 100% quality application but as per the client request we
have to do and deliver application to the client.
9.Usability Testing:
It is the type of testing for finding the application graphical user interface (GUI) is user
friendly or not.
Here we have to justify the entire application GUI using client or end user perspective
whether it is easily understanding to the end user or not.
For doing the usability testing we need to have end user expectation on our application.
Note: UAT team is having high visibility on client or end user expectations then it will be
easier for them to do the usability testing.
10.Security Testing:
Security is nothing but how effectively protecting the entire application is called security.
In this testing we are finding or checking how much application or network is getting
protected from unauthorised sources.
Authentication:
Here we will check whether the application is successfully protecting from unauthorised
people when they do some of the miscellaneous actions on it.
Network:
Here we are having bunch of systems connected to the network, we have to protect the
information of entire network , For that we have to use the firewalls for restricting
unauthorized sources.
Application URL:
Here we are going to check applications security based on the URL, getting the URL from
other source and trying to perform other operations . It should restrict for the
unauthorized sources, it means should not allow to access the information.
By using this testing we can justify whether entire application functionality is working
according to the client requirements or not.
By doing some actions or operations on our application, we have to check application
behaviour is according to the client expectations.
12.GUI Testing:
We are checking GUI of the application according to the client specifications given in SRS
document.
Here we will do testing on GUI elements, such as all the elements or controls are
properly displaying, alignment is fine or not, Tab Order.
Ex: in gmail username, pwd field, login and Cancel buttons are displaying or not.
13.End to End Testing:
It is a type of testing where we can test all the functionalities of entire application to justify
every feature is working according to the given client requirement.
Based on this testing we can find stability of the entire system with one environment.
14.Recovery Testing:
It is a type of testing used for finding the capability of the application, whenever it is getting
crashed whether we are able to recover automatically or not.
If at all any application is not getting recovered then we can say it does not have enough
quality.
Note: For Security Applications, testing team need to concentrate by making forcible
application crashes and we have to check whether it is getting automatically recovered or
not.
SOFTWARE TESTING LIFE CYCLE (STLC)
In STLC software testing is playing major role for delivering the quality product to the
client.
We should plan our testing activities accordingly based on the client request.
Testing phase is divided into 6 phases:
1. Test Planning
2. Test Development
3. Test Execution
4. Result Analysis
5. Defect Tracking
6. Reporting
Test Planning:
We are going to plan our testing activities for entire project along with scope, staffing,
schedule.
By including all above test lead is going to prepare test plan document and he will share it
to the client for approval.
Once we get the approval from the client we are going to start our actual testing activities.
Note: test plan is the first deliverable to the client from testing team.
Test Development:
Based on the test plan we are going to start writing test scenarios, test cases.
We have to complete preparing scenarios and test cases as per the schedule mentioned in
our plan.
Test Execution:
By using test cases, once we get the build from the development team then we have to
start performing all these validations to find what are all working and what are all not
working.
Result Analysis:
Based on the test case execution, here we are going to verify the test case results and
analyzing the results for finding genuine issues.
Defect Tracking:
If at all any failed test cases we are going to update all those issues to the development
team by using any of the tools like bugzilla, jira, QC, testopia, tfs(Team foundation server)
,………..
Reporting:
Based on the above phase and test cases results, defect reports, we have to update to
the client on stability of the application.
We have to report on daily basis, weekly basis, monthly basis based on the client request.
TEST PLAN
1. Introduction
2. Purpose
3. Scope and Goals
4. Features that are not to be tested
5. Definitions and Abbreviations
6. References
7. Product/Project Architecture
8. Test Environment
a) Required Hardware
b) Required Software
9. Assumptions
10. Constraints
11. Test Coverage
a) Functional Testing
b) User Interface Testing
c) Performance Testing
d) Security Testing
e) Recovery Testing
f) Compatibility Testing
12. Test Strategy / Approach
13. Test Deliverables
14. Human Resource Requirement
a) Staff Requirement for Testing
b) Roles and Responsibilities
15. Test Schedule
16. Readiness Criteria
17. Acceptance Criteria
18. Defect Classification
19. Defect Management
20. Testing Resumption Criteria
21. Tools and Techniques
22. Risk Identification and Contingency Planning
23. Test Case List
24. Test data
25. Traceability Matrix
1.Introduction:
Here we are going to update overview of the test plan document. It will describe
basic thing of this document.
2.Purpose:
Here in this section we are going to update use of this document more clearly
which is understandable to everybody in our project.
7. Product Architecture:
Here in this section, we are having entire project or product functionality flow in the single
diagram. It will represent overview of entire application.
8. Test Environment:
Here we are having environment related data and based on the environment, required
hardware and software details will be mentioned in this section.
Required Hardware:
Category Description
• RAM • 1GB
• MONITOR • 17/19 INCHES
• INTEL
Required Software:
Category Description
Functionality Testing
User Interface Testing
Security Testing
Recovery Testing
Unit testing
Module testing
Integration testing
System testing
User acceptance testing , preproductionDtuergsatsionftg, production testing
13. Tests Deliverables:
Here we will mention what are all the documents or information need to pass to the client
in periodic fashion will be mentioned here.
Test plan
Test scenario
Test case
Test case execution results
Bug report
Build stability report
Application functionality report
1. Test Bed:
It is type of environment where we are going to work on application is called test bed.
2. Test Scenario:
It is high level verification point for testing the application. We can derive scenarios
from the client requirement document.
GUI Scenario
Functional Positive scenario
Functional Negative scenario
Non-functional Scenario
Field level validation scenarios.
Test cases are divided into 4 types and we are deriving these cases from the designed
scenarios.
GUI test cases are derived from GUI scenarios
Functional positive test cases are derived from functional positive scenarios
Functional negative test cases are derived from functional negative scenarios
Non-functional test cases are derived from non-functional scenarios
Field level validation test cases derived from Field level validation scenarios.
Test Case Technique:
For deciding on the length of the input data we need to use below techniques for
finalizing the positive and negative length. If once length is finalized then we can play
with type of data with number of combinations with that length.
Positive data will be the positive length and having the any type of data as per our
requirement.
Negative type of data will be the negative length with positive and negative type of data.
Decision Table:
It is a technique used for deriving the regression and integration related test cases.
It is a table containing all the functionality names in left and top sections.
Whenever any relation between any of the functionalities, for those all functionalities
we need to put a mark for identifying those all are interrelated.
For regression and integration we can derive the test cases very easily by using this
table.
Usually it will be prepared by the persons who are having entire project knowledge,
obviously test lead will prepare or in some cases senior test engineers also involve
while preparing.
Function 3
|
|
Function N
Result Analysis:
Based on the execution phase and depend upon the test cases status, here we are
going to analyze or cross check test case results.
Based on the analysis we will come to know what are all the features are not working.
Features which are not working based on the analysis we need to update to the
development team.
Bug Tracking:
Based on the result analysis phase we will finalize or confirm list of issues or bugs or
defects.
For all those confirmed issues we need to track somewhere by using any of the bug
tracking tool.
Mandatory fields or data required for rising the Bugs:
1. Summary:
It is a single line description about the specific defect which is required for
understanding the defect in simple manner.
2.Description:
It is having some more detailed description about the bug which we can use for
understanding the defect more clearly.
3. Steps to Reproduce:
Here we are updating all the sequential steps which we required for reproducing the
issues by the development team.
4. Project:
It is a drop-down field containing all the project names, here we have to select, specific
project of us.
5. Module:
It is a drop-down list containing all the modules name, here we have to select specific
modules related to the defect or issue.
6. Build No:
It is a drop down list containing all the build numbers from starting to latest one we have to
select latest build number which we are working on currently. It can be found from BRN
document.
7. Severity:
It will notifies seriousness of the issue based on the issue seriousness or issue complexity.
We have to update severity any of the below:
Intermediate (Show Stopper or Critical)
High
Medium
Low
Based on the severity ,development people will analyze the issue seriousness and based on
that they may update the priority on top of tester priority value.
8. Priority:
It will notify how much urgently to fix the issue by the development team.
Based on the severity given by testing team, they will update their priority. Based on that
they will work on fixing the issues in the following order.
Intermediate
High
Medium
Low
9. Founded By:
Here we need to update the test engineer name who found this issue. It is a drop down
list containing all the team members, in those we have to select one.
11. Comments:
Here we will update any other information required for this issue.
12. Status:
It is a drop down list containing different status for the bug or defect and statuses are:
->New
->Open
->Fixed
->Closed
->Reopen
->Reject
Bug Life Cycle or Defect Life Cycle:
In our test case execution, test cases are validating based on the expected results
and actual results from the application, we are analyzing and confirming the test cases
passed or failed.
Whenever any test case is failed we need to update this deviation to the
development team
In the form of bug or defect we will update to the development team.
By updating all the mandatory fields required (based on the tool mandatory fields
will change) for rising the bug or defect need to update and saving the issue as it will
create unique bug-id along with the status new.
Development team will work on all the new issues and if at all they confirm the same
issue is getting reproduced in their environment then they will accept the issue for
fixing by changing the status to open.
If at all they could not able to reproduce then they may reject the bug by changing
the status to reject by updating with proper comments.
Whenever development team will work on all the open issues and if at all they fix
any issues then they will change the status to be fixed.
Testing team have to verify all the fixed issues and if at all issued is resolved then we
are going to close the defect by changing the status to closed.
If at all any issue is fails in retesting then again we need to update it to the
development team by making the status reopen.
Based on the comments entered for rejecting the bugs we need to cross check one
more time in the functionality and confirms everything is working then we have to
close the defect by making the status to closed.
Even though some of the closed issues may get reopened while doing regression
testing whenever any new features are added or any defects are fixed.
New
Accept
Test
Open/Reopen
verify
Fixed
Bug Life
Fixed Cycle
Not working
Testing
team
verify
Work
Work
Closed
Reporting:
We will send multiple status of application in many builds to the client in periodic
manner for updating the status of the application.
These reports include daily status, weekly status, monthly status and project status
report.
3. Monthly Status:
It is a report containing activities done in that month will be mentioned clearly along
with clear explanation on tasks covered.
It will notifies to the client that activities covered by the testing team in that month.
4. Project Closure report:
It is a report containing stability of the entire application. We will mention clearly
number of test cases executed , number of bugs found, based on that client will analyze
stability of the application at that time.
Based on the analysis he may update or talk with the project manager regarding the
application status.
If client satisfied, we will deliver project or product to client and he will continue next
level of testing.
FT FT Bugs
Testing regression regression
Testing Testing Build 1&2
bugs resolve
Requirement Traceability Matrix:
This document is used for tracking the requirements for checking the scenarios and test
cases coverage.
Defaultly, this matrix is having columns requirement id, scenario id and test case id.
Requirement id will be updated by the test lead and he will share this document to the
entire testing team for updating the scenario ids and test case ids.
Once entire team is updated with their scenario ids and test case ids, test lead is going to
verify every requirement is covered for writing the test case or not.
If at all he finds any of the requirements is not covered which means scenario ids and test
case ids will be empty for corresponding requirements, then he will assign those
requirements to somebody in our team for writing scenarios and test cases.
Test Coverage = Total No.of Test cases executed / Total No.of Test cases*100.
The result of metrics should be in B/W 80% - 95%. If it is less than 80% we can derive
that Test team is not clear with the requirements & If it is more than 95% we can
derive that the tester might be interacted with the developer before logging a defect to
confirm, Whether the issue is really defect or not.
This metrics will be use to find out the efficiency of a tester by Lead or PM
Remark to defect ratio = Total No.of Valid defects/ Total No.of Remarks *100
3. Defects per KLOC (or) Defect Dencity:-
This metrics is use to estimate the developer efficiency
Defects per KLOC = Total No.of Valid defects / KLOC
OR
Defects per KLOC = Total No.of Valid defects / LOC * 1000
LCL & UCL for this metrics are 5 &7.
EX:Given time to complete the project is 1000 hrs , Then the acceptable time should be
B/W 950 to 1050 hrs Effort variance
950 to 1050 days Schedule variance
A set of predefined activities should follow by every project team for ensuring quality
and deliver the project in on time with quality.
Benefits Of Process:
a) 100% Quality
b) Defect Prevention
c) Reduce the project cost
d) Reduce the no of resources
e) Assurance on project quality to Client
f) Client satisfaction will be very high
What is Process model:
A model is contains collection of processes used for getting quality in all areas of the
project such as documentation and functionalities of project.
VENKATA KRISHNA
2) Managed - Basic Project Management
Key Process Areas:
Requirement Management
Project Planning
Project Monitoring and Control
Supplier Agreement Management
Measurement and Analysis
Process and product quality Assurance
Configuration Management
Site Administration:
By using this component we can manage the administration part for quality center.
We can manage activities like
Creating domain
Creating projects
Creating users
Assigning user to the projects
Creating domain:
Based on the client requirements they may mention ‘n’ number of domains in the single
tool then we need to create those domains by using the option under site
administration login
Site project
create domain
Site project
delete domain
Creating projects:
Based on the client requirements we can create ‘n’ number of projects under each
domain. We have to provide unique project name while creating
Creating User:
Based on the requirements we need to create ‘n’ number of users under each project
under specific domain.
Site Administration
Site User
New User
Site User
Delete User
Site User
password
Assigning the user to the project:
By using create users we can assign it to the existing projects.
One user can be assigned to ‘n’ number of projects.
While logging into the quality center it should need to display all the assigned domains
in the assigned drop down list and all the assigned projects under project drop down list.
Site projects
project users
Quality Center:
It is a test management tool provided by the Hp. By using this tool we can manage our
testing activities effectively from starting to ending.
By using this we can store all the project related documents related to testing will be
maintained as a central repository and it will allow us to access the data parallely by
team members.
We can store requirements, test cases, test case results, defects or bugs.
It will allow us to generate user friendly reports for our test case execution or defect
details.
Quality center is divided into majorly 4 modules related to testing those are:
1. Requirement
2. Test Plan
3. Test Lab
4. Defects
1. Requirements:
It is used for storing all the requirements documents in the necessary hierarchy.
It will allow us to create ‘n’ number of parent and child requirements and we can
associate or attach requirements documents for the same. The options in this phase
are
New Requirement:
used for creating new parent requirements
New Child Requirements:
used for creating child requirements
Delete:
used for deleting either existing parent or child requirement.
Whenever we have created any requirement, then quality center will generate
requirement id automatically.
Ex: RQ0001 and RQ0002
Test Plan:
It is used for maintaining all our test cases documents in the necessary hierarchy by
creating number of folders and sub folders.
We can classify test cases into different sections and we can create test cases under
that.
For creating test cases mandatory fields are
New Folder:
used for creating the folder.
New Test Case:
used for creating the test case under folder structure.
Delete:
used for deleting the either test case or folder.
3. Test Lab:
It is used for maintaining test case results by linking defects as well for the failed test
cases.
By using select test option we are able to see all the available test cases in test plan tab
then it will allow us to drag test cases from test plan to test lab tab.
By using test set option we can maintain similar type of test cases under single name.
By using run option we can run the test cases one by one.
By using run test set option we can run all the test cases under that test set. It will take
care to show the test case step one by one for updating the results.
Delete option is used for deleting the folders and test sets.
4. Defects:
It is used for maintaining all the issues or bugs found in the test case execution phase.
By using new defect option we can update all the defect details such as
Summary
Detected by
Severity
Detected in version
Project
Status
Detected on date
Assigned to
Priority
Reproducable
Subject
Description
If at all we want to associate any screen shots for giving better understanding to the
developer it will allow us to attach attachments by using attach option.
Visual Safe Source:
It is having authentication as it required unique username and password for each member
for logging into the VSS. With this version control we can track what are all the changes
done by the individual team members.
Create Project:
It is used for creating the projects for classifying the data of multiple projects.
Check Out:
By using this we can download files from the VSS specifically to the working folder.
Note: Anybody did check out for any file it is not going to allow to do the check out by
anybody else.
Check In:
This option is used for upload the files from working folder to VSS. It will be enabled for
any file after we do the check out.
History:
It is used for checking all the modifications and respective persons for any document, it
will be used for checking the multiple versions status.