Testing Notes
Testing Notes
Testing performed by human with out third party tool is nothing but manual testing.
Or
Test directly performed by the tester via keyboard, mouse inputs to the application under test is
nothing but manual testing.
What is testing?
Testing is a process of verifying the s/w to check whether it fulfills the requirements or not with the
intent of finding errors.
Or
Testing is nothing but detection it is a process execution of application in controlled manner with
the intent of finding errors.
Or
To ensure that our application is working according to the customer requirements or not.
Requirements
Ms –word, excel sheet for writing test cases, bug reports, and build for testing that’s all.
What is quality?
A quality product is bug free, delivers on time, with in budget, meets the customer requirements,
and maintainable.
Why quality?
What is maintainable?
Whether the s/w is easy to maintain in production and if any problem is occurred it can be solved
easily with less efforts and less cost.
Qualities of testers
1. Test breaking attitude
2. Take customer point of view
3. To maintain good communication of with developers
4. Should have good knowledge in SDLC
5. Should be able to report technically
Quality Control:
A set of activities designed to evaluate a developed work product.
Or
All those necessary steps taken for fulfilling the requirements of quality.
Quality Assurance
All those planned and necessary ideas to provide adequate confidence that the product/service will
satisfy the given requirements of quality.
QUALITY ASSURANCE measures the quality of processes used to create a quality product
QA Manager:
V&V is process that helps to determine if the s/w requirements are complete, correct and if s/w of
each development phase fulfills the requirements and conditions, imposed by previous phase etc.
Verification is typically involves reviews, plans, meetings and to evaluate documents, plans,
code requirements & specifications this can be done with the help of check lists issue lists, walk
through &inspection meetings
Validation typically involves actual testing and it will be started after completion of verification.
Verification and validation (v&v) is a process that helps to determine if the s/w requirments are
complet, correct and if the s/w of each development phase fulfills the requirements and conditions,
imposed by the previous phase etc.
Verification typically involves reviews and meetings to evaluate documents, plans, code,
requirements, and specifications. This can be done with checklists, issues lists, walkthroughs, and
inspection meetings.
Validation typically involves actual testing and takes place after verifications are completed.
Verification requires several types of reviews, include Requirement Review, Code Walkthroughs,
Code Inspections, Design reviews, reviews of reviews....The system users (Developers) will involve
in these reviews to find the defects before they build a system. Some of the examples we discussed
below please check that one. For Effective Development process each verification example is linked
with another (It also depends up on the type of project...)
Validation is accomplished simply by executing a real-life functions (For Example if you check the
bulb working or not , then you should switch on ...) .Here also validations examples are linked with
each other, one's out put effective input of another validation( depends up on the project type)
{Depend up on the project type, verification examples are will vary... Below are some standard
examples}
Verification Examples:-
Verification
Performed by Deliverable
Example
Requirement Developers, Review statement of requirements ready to be
Review Customer translated in to system
System Design and configuration document is ready
Design Reviews Developer
for computer program
Code Computer software ready for testing or ready for more
Developers
Walkthroughs detailed inspection
Computer software is ready for testing by developers
Code Inspections Developers
and Testers
Validation Examples:-
Validation Performed
Deliverable
Examples By
software unit is ready for testing with other unit or
Unit Testing Developers
components.
Portions of the system ready for testing with other
Integrated Testing Developers
portions of the system.
System Testing Testers A Tested computer system, based on what was specified
User Acceptance
Users Tested computer system based on the user needs ...
Testing
Summary:
1. Verification and Validation are very essentials in the software testing.
2. It starts when Project starts.
3. It minimizes the cost of testing.
4. Verification is non executable method.
5. Validation is physically executed method.
What is a 'walkthrough'?
Or
It is an informal meeting for information purpose. No preparation is required .just sharing the ideas.
People Involved
The following people attended the meeting:
Architect. The architect organized and chaired the meeting. He wanted to create a threat
model early in the design phase, to influence subsequent design decisions.
Business Analyst. The business analyst was invited to the meeting to answer and clarify
questions regarding the security objectives and primary use cases. Note that the business
analyst is an optional attendee and might not be required if the architect can answer the
questions.
Developer. The developer wanted to understand the security implications of various design
and implementation choices.
Test Lead. The test lead was invited to the meeting because the architect wanted the threat
model to help define the test strategy. The test lead wanted to know where to focus his
security testing.
Note:This meeting did not involve any operations or network staff. Make sure you know
your operational constraints. If necessary, check with your IT staff about relevant corporate
policies or other infrastructure constraints.
Meeting Guidelines
The architect outlined the following meeting guidelines:
The meeting was to be limited to one hour.
A single nominated person would take notes. In this case, the developer was asked to take
notes.
The team would record issues that needed to be taken offline for further discussion.
The architect specified the amount of time he wanted to spend on each step so that the meeting
would complete in an hour. He wanted steps 1, 2, and 3 to be completed in approximately 20
minutes and the rest of the meeting time to be spent on threat and vulnerability identification. He
also allowed time for a five-minute meeting wrap-up.
What's an 'inspection'?
An inspection is more formalized than a 'walkthrough', typically with 3-8 people including a
moderator, reader, and a recorder to take notes. The subject of the inspection is typically a document
such as a requirements spec or a test plan, and the purpose is to find problems and see what's
missing, not to fix anything. Attendees should prepare for this type of meeting by reading thru the
document; most problems will be found during this preparation. The result of the inspection meeting
should be a written report. Thorough preparation for inspections is difficult, painstaking work, but is
one of the most cost effective methods of ensuring quality. Employees who are most skilled at
inspections are like the 'eldest brother' in the parable in 'Why is it often hard for management to get
serious about quality assurance?'. Their skill may have low visibility but they are extremely valuable
to any software development organization, since bug prevention is far more cost-effective than bug
detection.
Testing types
It is a testing approach that examines the application program structure and derives test cases from
the application program logic.
or structual testing
WBT techniques:
these are 3
1. execution testing:
It is nothing but testing the functional part of application. No need of knowledge of internal logic of
code.
Unit testing
Or
Testing the individual functionality of the application is nothing but unit testing.
Module testing
Exhaustive testing
Which document‘s certified o/p of one stage passed on to another stage is nothing but base line
document.
SDLC stands for s/w development life cycle. It specifies how exactly u develop a s/w through
various steps and procedures followed to develop a s/w is nothing but SDLC.
(Or)
It begins when s/w 1st time introduced and ends when s/w is no longer in use.
STLC stands for s/w testing life cycle. It specifies how performed to achieve quality and found bugs
with a systematic procedure is nothing but STLC.
(Or)
It begins at ending of the requirement phase means at design level and ends when s/w is no longer
in use.
A quality product.
Black box testing such as usability, functionality, data base testing, regression like that.
Defect reports
Test scripts
Test case is a document which describes INPUT, ACTION, EVENT and EXPECTED RESPONSE
to determine if feature of an application is working correctly or not.
Test case is a sequence of steps to test the correct behavior of a functionality/feature of an
application.
It is nothing but a document which contains a set of inputs and executions results based on
conditions to determine a feature of an application.
It is purely taken care by testers
By taking the help of test cases we can test whether the application is properly working or not.
Status
Pass
Fail
Entry criteria
Approved test plan
Requirement specification
ECP& BVA prepared
Test case template
Any design document
Exit criteria
It is a document which contains a set of possible inputs and executions for expected results based on
conditions to determine a feature of application.
Uses
By taking the help of test cases we can test whether the application is properly working or not.
A good test case is one that has a high probability of finding an as yet undiscovered area.
Which one (minimum test cases) covers maximum functionalities is called as good test case.
Or
A good test case is has not more than steps and cover more functionality in a single shot.
Easy to maintain
Cheap to use
By using docs. Like BRS, CRS, SRS (through requirements) we prepare use cases by using use
cases we prepare test cases.
Each and every company follows their own format for test cases. But the final aim is to cover all the
functionality to test the project.
How will u check that Ur test cases are covered all requirements?
Or
Like I mean
Input 2:
Sum:
Test cases=input object 1*1.6= (i.e.) 2*1.6=3.2(minimum of test cases it should have is 3) but max
can vary.
Test scenario represents a series of actions that are associated together from initiation stage to
completion
Entry criteria:
Exit criteria:
It is a condition which input of the phase as to satisfy to get entry into the phase is nothing but entry
criteria.
It is a condition which output of the phase as to satisfy to get exit from the phase is nothing but exit
criteria.
A set of values are used in test or that are necessary to execute the test based on test case
requirements we will prepare the test data.
What is an error?
This error is found by test engineer during the testing period that is called defect or issue.
What is bug?
What is fault?
What is failure?
The inability of a system or system component to perform a required function within specified
limits. A failure may be produced when a fault is encountered.
With out presence of sub modules testing the application by using the main module is called as top
to down testing.
Stub
Instead of sub module we need to take the help of temporary programs is called stub.
Bottom to top testing
Without presence of main module testing the application by using sub module is called as bottom to
top testing.
Drivers
The combination of top to down &bottom to top approaches is called as sand witch testing.
Static testing
Verification performed with out executing the system’s code. It is also called as static analysis.
Or
Dynamic testing
Verification &validation performed which executes the system’s code is called as dynamic testing.
A program or test tool used to execute tests. It is also known as test harness.
It is nothing system testing. The term system testing means the combination of functionality testing
&non functionality testing.
Defect leak
The defect which can be found and reproduced by end user/client people the same we (test
engineer) unable to found at the time of testing. This is also called as ‘defect leakage’.
1. Equivalence partitioning
2. Boundary value analysis
3. Cause-effective graphing
4. Error guessing
Equivalence partitioning: test the inputs would be selected from each portion of BVA.
Cause-effective graphing: a graphical representation of inputs and the associated out puts effects
which can be used to design test cases.
Error guessing:
Smoke testing:
Usability testing
Retest: retesting means executing the test cases again on the same build like I mean which is
already tested by providing multiple test data.
Regression testing: means executing the same test cases on the modified build.
Like I mean which is already tested when ever the changes are made or some new functionalities are
add make sure that changes are not effected the previous functionality.
For e.g.
If there are 1000 test cases to be executed in the first build....And of the 1000 test cases, 100 fail and
900 pass....
suppose in 1000 test cases 3rd ,7th ,12th , 20th ..... like that upto 100 test cases are failed
initially while we are executing the test cases(1000) the 3rd test case has failed then we will conduct
retesting on that for clarification whether it is bug or not? Before sending the bug report with the
status of 'new' And the same way we will conduct retesting on the remaining failed test cases like
7th , 12th , 20th .....
Then after bug fixing whenever the modified build(2nd build) is received, Functional
REGRESSION Testing has to be done on the 900 test cases and the remaining 100 failed test cases
are to be Bug Regression testing. Suppose in that 3rd one has failed once again then we will do
retesting for clarification whether it has been fixed or not? if it is not fixed before sending the bug
with the status of 're-open' and bug regression testing on 100 testcases and functional regresssion
testing on 900 test cases and on overall 1000 test cases we will conducting regression testing.
Retesting is first
generally retesting starts from initial build(1st build) and regression testing starts from modified
build(2nd build)
During this testing test engineers estimate the storage in terms of no. of records.
Security testing
Storage testing
Estimate the limit of storage in terms of bytes is nothing but storage testing.
Authentication testing
SDLC
What is SDLC?
It specifies how exactly u develop a s/w through various steps and procedures followed to develop a
s/w is nothing but SDLC.
S/W project.
S/w related problems are solved by s/w engineers through s/w engineering process are called as s/w
project.
1. information gathering
2. analysis
3. design
4. coding
5. testing
6. release& maintenance
Information gathering:
In this phase business analysist gather the requirements and prepare the BRS.
This time they verify whether the requirements are specified correctly or not and whether the
customer is providing complete information or not.
Analysis:
In this phase sr.analysist or P.M. prepare the s/w RS document with the help of BRS.
Design:
1. HLD
2. LLD
HLD --- consists of main module of the project from root to leaf and multiple LLD mo0dules.
LLD --- consists of sub modules of main module and along with flow diagrams, E.R diagrams
prepared by internal designer.
Coding:
Programming language like C, C++ and JAVA like that are used for coding.
Programming tools like compilers, interpreters, debuggers are used to generate the code.
Testing:
Once the code is generated then the testing will be started by using diff.types of methodologies like
WBT, BBT with the help of their techniques.
After performing
What is testing ?
Testing is a process of verifying the s/w to check whether it fulfills the requirements
or not with the intent of finding errors.
Verifi ca tion answers the question, “Are we building the righ t Product? ”
Valida tion addresses, “Are we building the Product Right? "
Eg:
- -------
- -------- Condition
If (?)
-------
------- T F
else
-------
-------
--------
-------- Cyclomatic Complexity =
2(1+1)
One should run the above program 2 times to cover all executable
areas. A programmer gets confidence that a program is running only when the
cyclomatic complexity is reached in running the programs designed.
NOTE: The above program should be run 2 times
One time to check whether if condition is satisfied or not
Next time to check whether the else condition is satisfied or
not, without any runtime errors.
2. Control Struc ture Testing:
During this test, the corresponding programmer concentrates on
correctness of program execution in this test, they verify every statements of
program execution. In this test, they verify every statements input state & Output
state.
Eg: Debugging
3. Program Te chnique Te sting:
During this test, the programmers concentrate on the execution
speed of a program. If the execution speed is not reasonable, then programmers
perform changes in the structure of the program without disturbing functionality
A B
of the program.
Eg: Swapping Program
i. c=a;
a=c+b;
1. Us ability testing
2. Functional T esting
3. Non – Functional Te sting
1.Usabili ty Testing:
In general, the separate testing team starts test execution with usability
testing. During this test, the team concentrates on user-friendliness of the software
build screens. The usability testing consists of 2 sub tests.
a) User – Interface Testing
b) Manuals Support Testing
a) User - interface Testing: -
In User Interface Testing software build is tested for
Ease of use (Understandability)
Look & Feel (Attractiveness)
Speed in Interface (Short navigations)
These are applied on every screen in the software build.
b) Manu als Support Te sting: -
Also known as “Help - documents testing”. During this test, the
testing team concentrates on correctness & completeness of Help – Documents /
User Manuals.
NOTE: In general, the testing team conducts User- interface testing & then
conducts functional & non–Functional Tests. All the end of testing
process, the testing team concentrates on Manuals Support Testing
Receive build from development team.
User Interface Testing
(Usability Testing)
Functional & Non – Functional Testing
Manuals Support Testing
What is uni t testing?
Testing the individual functionaity of an application is nothing but unit testing.
Or
testing the small part an application is nothing but unit testing.
What is modu al tes ting?
Testing the combined functioalities of an application is nothing but modual testing.
What is integ ration testing?
Testing the combined moduals of an application is nothing but integration testing.
2. Functional Te sting:
A Moderator testing level during which the testing team
concentrates on customer requirements interms of functionality. During this test,
the testing team applies below sub-tests on the software build.
i) Functionalit y Testing
ii) Sanita tion Testing
i) Functionalit y Testing: -
During this test, the testing team concentrates on correctness of
every functionality with respect to requirements. In this test, the testing team
follows the below coverage.
GUI Coverage / Behavioral Coverage
(Changes in Properties of Objects in Screen)
Error Handling Coverage
(Preventing incorrect Operations)
Input Domain Coverage
(Taking correct size & type of Inputs)
Manipulations Coverage
(Returning correct output)
Backend Coverage
(The Impact of front-end screens operations on backend tables)
Order of functionalities Coverage
Sanit ation tes ting: -
This is also known as “Garbage Testing”. During this test, the testing team
identifies extra functionalities in the software build with respect to customer
requirements.
3. Non-Functionali ty T esting:
A complex level in system testing during which the testing team
concentrates on extra characteristics of the software.
i. Recovery Testing
ii. Compatibility Testing
iii. Configuration Testing
iv. Inter system Testing
v. Installation Testing
vi. Load Testing
vii. Stress Testing
viii. Data Volume Testing
Re cov ery Te sting: -
It is also known as “Reliability Testing”. During this testing team
validates that whether the software build changes from abnormal mode to normal
mode.
(Abnormal)
Normal
ii) Co mpatibility Testing: -
Also Known as “Portability Testing”. During this test, the testing team
validates whether the software build is running on customer expected platforms or
not? Platforms are Operating Systems, Compilers, Browsers & Other system
software.
Stora ge testing:
during this testing test engineers estimates the limit of storage interms of bytes.
Se curi ty testing:
During this testing test engineers validates whether the applcation is providing
privacy or not to the customer's data( user operations)
Au thentication testing:
During this testing test engineers verifies whether the application is having login
screen or not means whether our application is allowing valid users or not with
login id and password.
Acce ss control testing:
it is used to check whether the user is having the permissions or not to access the
data(services)
eg: manager,adminidtrator, authentication user etc.are having the permisssions to
accesss the data.
Parallel Te sting: -
It is also known as “Comparative Testing” or “Competitive Testing”. During this
test, the testing team is comparing the recent software build with previous versions
of the software build or with the competitive software in market to estimate
competitiveness. This testing is only applicable to software products.
Ad-hoc Te sting: -
In general, every testing team conducts planned testing, but testing team
adopts informal testing sometimes due to some challenges or risks.
Eg: Lack of time, lack of resources, lack of team size, lack of skill, etc.
This informal testing is also known as Ad-hoc testing. There are
different styles in Ad-hoc testing.
Buddy T esting: -
A developer and a tester are working together as buddies t help each other to
find out the defects early. Due to lack of time developers and testers are working
together.
Eg: 1:1 (or) 2:1 (or) 3:1 (preferable)
or
Due to lack of time, the management groups programmers & testers as
“Buddies”. Every buddy group consists of programmers & testers.
Pair T esting: -
this test is done by 2 testers one is Sr. and another one Jr. in them to find the
defects on the same functionality, here Sr. tester is sharing his experience with Jr.
tester (new)
when the new tester has lack of knowledge on the or application
or
Due to lack of knowledge on project domain the management groups a senior tester
& a Junior Programmers are developed and conducted testing, these all are called
Pair testing.
Mo nkey Testing: -
Due to lack of time, the testing team concentrates on some of the main
activities in the software build for testing. This style of testing is known as “Monkey
testing” or “Chimpanzee testing” or “Gorilla testing”.
Ex plora tory T esting: -
Due to lack of proper documentation of the software being built, the test
engineers depend on past experience, discuss with others, browse the Internet or
Operate similar projects and contact customer side people if possible. This style of
testing is called “Exploratory Testing”.
or
Exploratory testing is an approach in software testing with simultaneous learning,
test design and test execution. While the software is being tested, the tester learns
things that together with experience and creativity generates new good tests to run.
De fect Seeding : -
To estimate the efficiency of test engineers, the programmers add some bugs
to the build. This task is called defect seeding / debugging.
alpha testing(non- conve ntional):
testing the application at the developer's site by the enduser.
Beta testing(conve ntional):
Testing the application at the customer's site by the customer.
En cryption and decryption testing:
it is purly taken care by the development dept. coding and decoding the data is
called as encryption
converting the data from one formate to another formate is called as decryption.
Beau ty testing:
user interface testing is also called as beau ty or cosmotic testin g.
Dynamic testing
Verification &validation performed which executes the system’s code is called as
dynamic testing.
Sanity testing:
Sanity testing is overall functionality oriented.Whether the released build is
stable or not for further testing. It is also called as build acceptance
testing(BAT).After receiving the initial build testing team conducts testing to find
out whether the build is working or not. Which is the first testing technique applied
on the build? To check the whether the build is acceptable for 1. All menu items are
opening or not
1. All menu items are opening or not
2. All text boxes are accepting key board values or not.
3. All objects are responding or not etc.
When we get the initial build from the development team, we perform sanity
testing. whether build is working properly interims of following factors Easy
to understand, Easy to Operate, Short Navigations. With significant of s/w
we have to apply this testing(new version)