Definitions: Bidding The Project
Definitions: Bidding The Project
Definitions
Project: It is something developed based on a particular customer requirement and used by that particular customer only.
Product: Product is some thing that is developed based on the company’s specifications and used by multiple customers.
Quality: Quality is defined as not only the justification of the requirement but also the present of value (user friendly).
Testing:
Testing is a process in which the defects are identified, isolated (separated), subjected (sending) for rectification and ensured
that the product is defect free in order to produce a quality product in the end and hence customer satisfaction.
(Or)
Testing is the process of executing a program with the intent of finding errors.
(Or)
Verifying and validating the application with respect to customer requirements.
(Or)
Finding the differences between customer expected and actual values.
(Or)
Testing should also ensure that a quality product is delivered to the customer.
Bidding the project is defined as request for proposal, estimation and signoff.
KICK OF MEETING:
It is a initial meeting conducted in the software company soon after the project is signed off in order to discus the over view
of the project and to select a project manager for the project.
Usually High Level Manager, Project Manager, Technical Manager, Quality Managers, Test leads and Project leads will be
involved in this meeting.
PIN is a mail prepaid by the project manager and send to the CEO of the software company in order to get the permission to
start the project development.
SDLC (Software Development Life Cycle)
It contains 6 phases.
Design phase
Tasks HLD (High Level Designing) LLD (Low Level Designing)
Roles HLD is done by the CA (Chief Architect). LLD is done by the TL (Technical Lead).
Process
The chief architect will divided the whole project into modules by drawing some diagrams and technical
lead will divided each module into sub modules by drawing some diagrams using UML (Unified Modeling
Language).
The technical lead will also prepare the PSEUDO Code.
Coding Phase
Task Programming / Coding.
Roles Developers / Programmers.
Process
Developers will develop the actual source code by using the PSUEDO Code and following the coding
standards like proper indentation, color-coding, proper commenting and etc…
Testing Phase
Task Testing.
Roles Test Engineer.
Process
First of all the Test Engineer will receive the requirement documents and review it for under studying the
requirements.
If at all they get any doubts while understanding the requirements they will prepare the Review Report (RR)
with all the list of doubts.
Once the clarifications are given and after understanding the requirements clearly they will take the test case
template and write the test cases.
Once the build is released they will execute the test cases.
After executions if at all find any defects then they will list out them in a defect profile document.
Then they will send defect profile to the developers and wait for the next build.
Once the next build is released they will once again execute the test cases
If they find any defects they will follow the above procedure again and again till the product is defect free.
Once they feel product is defect free they will stop the process.
2 White box Testing (Or) Glass box Testing (Or) Clear box Testing
It is a method of testing in which one will perform testing on the structural part of an application. Usually
developers are white box testers perform it.
3 Gray box Testing
It is a method of testing in which one will perform testing on both the functional part as well as the structural part of
an application.
Note:
The Test engineer with structural Knowledge will perform gray box testing.
LEVELS OF TESTING
There are 5 levels of testing.
If one performs testing on a unit then that level of testing is known as unit level testing. It is white box testing
usually developers perform it.
Unit: - It is defined as a smallest part of an application.
If one perform testing on a module that is known as module level testing. It is black box testing usually test
engineers perform it.
Once the modules are developing the developers will develop some interfaces and integrate the module with the
help of those interfaces while integration they will check whether the interfaces are working fine or not. It is a white
box testing and usually developers or white box testers perform it.
The developers will be integrating the modules in any one of the following approaches.
i) Top Down Approach (TDA)
In this approach the parent modules are developed first and then integrated with child modules.
ii) Bottom Up Approach (BUA)
In this approach the child modules are developed first and the integrated that to the corresponding parent
modules.
iii) Hybrid Approach
This approach is a mixed approach of both Top down and Bottom up approaches.
iv) Big Bang Approach
Once all the modules are ready at a time integrating them finally is known as big bang approach.
STUB
While integrating the modules in top down approach if at all any mandatory module is missing then that
module is replace with a temporary program known as STUB.
DRIVER
While integrating the modules in bottom up approach if at all any mandatory module is missing then that
module is replace with a temporary program known as DRIVER.
4) System level testing
Once the application is deployed into the environment then if one performs testing on the system it is known as
system level testing it is a black box testing and usually done by the test engineers.
At this level of testing so many types of testing are done.
The same system testing done in the presents of the user is known as user acceptance testing. It s a black box testing
usually done by the Test engineers.
ENVIRONMENT
Environment is a combination of 3 layers.
Presentation Layer.
Business Layer.
Database Layer.
Types of Environment
There are 4 types of environments.
1. Stand alone Environment / One – tire Architecture.
2. Client – Server Environment / Two – tire Architecture.
3. Web Environment / Three – tire Architecture.
4. Distributed Environment / N – tire Architecture.
1) Stand alone environment (Or) One – Tire Architecture.
This environment contains all the three layers that is Presentation layer, Business layered and Database layer in a
Single tier.
2) Client – Server Environment (Or) Two – Tire Architecture
In this environment two tiers will be there one tier is for client and other tier is for Database server. Presentation
layer and Business layer will be present in each and every client and the database will be present in database server.
3) Web Environment
In this Environment three tiers will be there client resides in one tier, application server resides in middle tier and
database server resides in the last tier. Every client will have the presentation layer, application server will have the
business layer and database server will have the database layer.
4) Distributed Environment
It is same as the web Environment but the business logic is distributed among application server in order to
distribute the load.
Web Server: It is software that provides web services to the client.
Application Server: It is a server that holds the business logic.
Ex: Ton tact, Tomcat, Web logic, web Spear etc………
UAT UATR
Del & Maint Delivery to Client
Client Environ
Advantages: conformation
It is a simple model and easy to maintain project implementation is very easy.
Drawbacks:
Can’t incorporate new changes in the middle of the project development.
2) Prototype Model
S R S Doc
Base lined
Unclear Req
Prototype
S/W Prototype
Demo to Client
e
When ever the customer with the requirements then this is the best model to gather the clear requirements.
Drawbacks:
It is not a complete model.
Time consuming model
Prototype has to be build company’s cost
The user may strict to the prototype and limit his requirements.
3) Evolutionary Model
Initial Req.
Development
Feed back
N with new Req
User
Application User Values Acceptance
App is
Y Base lined
Advantages
Whenever the customer is revolving the requirements this is the best suitable model.
Drawbacks
4) Spiral Model
Implementation.
Advantages
This is the best-suited model for highly risk-based projects.
Drawbacks
Time consumed model, costly model and project monitoring and maintenance is difficult.
5) Fish Model
Verification:
Verification is a process of checking conducted on each and every role of an organization in order to check whether
he is doing his tasks in a right manner according to the guidelines or not. Right from the starting of the process tiles
the ending of the process. Usually the documents are verified in this process of checking.
Validation
Validation is a process of checking conducted on the developed product in order to check whether it is working
according to the requirements or not.
Delivery &
Analysis Coding
Design Maintenance
Requiremen System
ts gathering Testing
HLD
SRS SCD
LLD
Verification
Advantages
Validation
As the verification and validation are done the outcome of a Fish Model is a quality product.
Drawbacks: Time consuming and costly model.
6) V – Model
Verification Validation
BRS Prepare Pro. Plan
Initial
& Prepare Test Plan
SRS Req. Phase Testing
Analysis
System Testing
Testing S/W Test Management process
Build User Acceptance Testing
Advantages
As the verification and validation are done along with the Test Management. The out come of V-Model is a quality
product.
Drawback
Some companies even call it as Sanitary Testing and also Smoke Testing. But some company’s will say that just
before the release of the built the developer’s will conduct the overall testing in order to check weather the build is
proper for detailed testing or not that is known as Smoke Testing and once the build is released once again the
testers will conduct the over all testing in order to check weather the build is proper for further detailed testing or
not. That is known as Sanitary Testing.
2) Regression Testing
It is a type of testing in which one will perform testing on the already tested functionality again and again this is
usually done in scenarios (Situations).
Scenario 1:
When ever the defects are raised by the Test Engineer rectified by the developer and the next build is released to the
testing department then the Test Engineer will test the defect functionality and it’s related functionalities once
again.
Scenario 2:
When ever some new changes are requested by the customer, those new features are incorporated by the developers,
next built is released to the testing department then the test engineers will test the related functionalities of the new
features once again which are already tested. That is also known as regression testing.
Note:
Testing the new features for the first time is new testing but not the regression testing.
3) Re – Testing:
It is a type of testing in which one will perform testing on the same function again and again with multiple sets of
data in order to come to a conclusion whether the functionality is working fine or not.
4) α - Testing:
It is a type of testing in which one (I.e., out Test Engineer) will perform user acceptance testing in our company in
the presents of the customer.
Advantages:
If at all any defects are found there is a chance of rectifying them immediately.
5) β - Testing:
It is a type of testing in which either third party testers or end users will perform user acceptance testing in the client
place before actual implementation.
6) Static Testing:
It is a type of testing in which one will perform testing on an application or it’s related factors with out performing
any actions.
Ex: GUI Testing, Document Testing, Code reviewing and etc…
7) Dynamic Testing:
It is a type of testing in which one will perform testing on the application by performing same action.
Ex: Functional Testing.
8) Installation Testing:
It is a type of testing in which one will install the application in to the environment by following the guidelines
given in the deployment document and if the installation is successful the one will come to a conclusion that the
guidelines are correct otherwise the guidelines are not correct.
9) Compatibility Testing:
It is a type of testing in which one may have to install the application into multiple number of environments
prepared with different combinations of environmental components in order to check whether the application is
suitable with these environments or not. This is use usually done to the products.
For example usually the developers will be doing any many changes to the program and check it’s performance it is
known as mutation testing.
i) Authentication Testing:
It is a type of testing in which a Test Engineer will enter different combinations of user names and
passwords in order to check whether only the authorized persons are accessing the application or not.
It is a type of testing in which one will perform testing on the application in his own style after understanding the
requirements clearly.
It contains 6 phases.
1. TEST PLANNING.
2. TEST DEVELOPMENT.
3. TEST EXECUTION.
4. RESULT ANALYSIS.
5. BUG TRACKING.
6. REPORTING.
1) TEST PLANNING
Plan:
Plan is a strategic document, which describes how to perform a task in an effective, efficient and optimized way.
Optimization:
Optimization is a process of reducing or utilizing the input resources to their maximum and getting the maximum
possible output.
Test Plan:
It is a strategic document, which describe how to perform testing on an application in an effective, efficient and
optimized way. The Test Lead prepares test plan.
1.0 INTERDUCTION.
1.1 Objective.
1.2 Reference Document.
2.0 COVERAGE OF TESTING.
2.1 Features to be Tested.
2.2 Features not to be Tested.
3.0 TEST STRATEGY.
3.1 Levels of Testing.
3.2 Types of Testing.
3.3 Test Design Technique.
3.4 Configuration Management.
3.5 Test Metrics.
3.6 Terminology.
3.7 Automation Plan.
3.8 List of Automated Tools.
4.0 BASE CRITERIA..
4.1 Acceptance Criteria.
4.2 Suspension Criteria.
5.0 TEST DELIVARABLES.
6.0 TEST ENVERONMENT.
7.0 RESOURCE PLANNING.
8.0 SHEDULING.
9.0 STAFFING AND TRAINING.
10.0 RISKS AND CONTINGENCES.
11.0 ASSUMPTIONS.
12.0 APPROVAL INFORMATION.
1.0 INTERDUCTION.
1.1 Objective.
The main purpose of the document is clearly described here in this section.
TEST PLAN
It is defined as a project level term, which is describes how to test a particular project in an organization.
Note:
Test strategy is common for all the projects. But test plan various from project to project.
3.6 Terminologies
The list of all the terms and the corresponding meanings are listed out here in this section
8.0 SCHEDULING.
The starting dates and the ending dates of each and ever task is clearly described here in this section.
Contingences
1. Proper plan ensurence.
2. People need to be maintained on bench.
3. What not to be tested has to be planed properly.
4. Severity priority based execution.
5. Proper training needs to be provided.
11.0 ASSUMPTIONS.
The list of all the assumptions that are to be assumed by a test engineer will be listed out here in this section.
1.Test Objective:
The purpose of the document is clearly described here in this section.
2.Test Scenarios:
The list of all the situations that are to be tested, that are listed out here in this section.
3.Test Procedure:
Test procedure is a functional level term, which describe how to test the functionality. So in this section one will
describe the plan for testing the functionality.
4.Test Data:
The data that is required for testing is made available here in this section.
5.Test Cases:
The list of all the detailed test cases is- listed out here in this section.
Note:
Some companies even maintain all the above five fields individually for each and every scenario. But some
companies maintain commonly for all the scenarios.
3. TEST EXECUTION.
During the test execution phase the test engineer will do the following.
4. RESULT ANALYSIS.
In this phase the test engineer will compare the expected value with actual value and mention the result as pass if
both are match other wise mentioned the result as fail.
5. BUG TRACKING.
Bug tracking is a process in which the defects are identifying, isolated and managed.
DEFECT PROFILE DOCUMENT
Defect ID:
The sequences of defect numbers are listed out here in this section.
Steps of Reproducibility:
The list of all the steps that are followed by a test engineer to identity the defect are listed out here in this section.
Submitter:
The test engineer name who submits the defect will be mentioned here in this section.
Date of Submission:
The date on which the defects submitted is mentioned here in this section.
Version Number:
The corresponding version number is mentioned here in this section.
Build Number:
Corresponding build number is mentioned here is this section.
Assigned to:
The project lead or development lead will mentioned the corresponding developers name for name the defect is
assigned.
Severity:
How serious the defect is, is described in terms of severity. It is classified in to 4 types.
1. FATAL Sev1 S1 1
2. MAJOR Sev2 S2 2
3. MINOR Sev3 S3 3
4. SUGGESION Sev4 S4 4
FATAL:
It is all the problems are related to navigational blocks or unavailability of functionality then such types of problems
is treated to be FATAL defect.
MINOR:
It at all the problems is related to the look and feel of the application then such types of problems are treated to be
MINOR defects.
SUGGITIONS:
If at all the problems are related to the value of the application then such types of problems are treated to be
suggestions.
Priority:
The sequence in which the defects have to be rectified is described in terms of priority. It is classified in to 4 types.
1. CRITICAL
2. HIGH
3. MEDIUM
4. LOW
Usually the FATAL defects are given CRITICAL priority, MAJOR defects are given HIGH priority, MINOR
defects are given MEDIUM priority and SUGGITION defects are given LOW priority sent depending upon the
situation the priority may be changed by the project lead or development lead.
Ex: -
Low Severity High Priority Case:
In the case of customer visit all the look and feel defects, which are usually less savior, are given highest priority.
Testers Mistake
No
Require As Per Design
Test Yes
Develop really Rectification
Defect
BH # 2
Testing
Yes
If
New/Open No
Defect Stop the Testing
Is it
No really Yes
Reopen Closed
rectified
?
New / Open:
When ever the defect is found for the first time the test engineer will set the status as New / Open. But some
companies will say to set the status as only new at this situation and once the developers accept the defect they will
set the status as open.
If they feel rectified they will set the status as Closed. Other wise they will set the status as Reopen
Fault / Failure:
The customer identity the problem, after delivery. It is called Fault / Failure.
6. BUG REPORTING.
1). Classical Bug Reporting Process:
Project Lead
Test Lead
Mail
TE1 TE2 TE3 Drawbacks: 1.Time consuming
2. Redundancy. Dev1 Dev2 Dev3
3. No Security.
TL
PL
Caman Repository
TL PL
BTT
It is a software application that can be accessed only by the otherwise person and used for managing the complete
bug tracking process by providing all the facilities along with a defect profile template.
Note:
At the end of the testing process usually the test lead will prepare the test summary report which is also called as
test closure.
While developing the test cases if at all the test engineer feels complex in some areas to over come that complexity
usually the test engineer will use test design techniques.
Ex: Develop the test cases for E-Mail Test box whose validations are as follows.
Requirements:
1. It should accept Minimum 4 characters Maximum 20 characters.
2. It should accept only small characters.
3. It should accept @ and _ special symbols only.
Valid Invalid
4char 3char
5char 21char
12char A–Z
19char 0–9
20char All the Special Symbols apart
a–z form @ and _.
@ Alpha Numeric.
_ Blank Space
Dismal Numbers.
Test
Case Test Case Description Expected Value
ID Type
1 +ve Enter the value as per the VIT It should accept.
2 -ve Enter the value as per the IIT It should not accept.
Sl NO Input Sl No Input
1 abcd 1 abc
2 ab@zx 2 ABCD
3 abcdabcd@ab_ 3 ABCD123
4 abcdabcddcbaaccd_@z 4 12345.5
6 abcdabcdabcdabcd_xyz 6 abcdabcd-----abc*#)
-: The End :-
Pls. leave your feed back (both +ve and –ve ) at kanakadria@yahoo.co.in