Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
18 views16 pages

Software Testing Journey 101

Uploaded by

aphanetshia
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views16 pages

Software Testing Journey 101

Uploaded by

aphanetshia
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

SOFTWARE TESTING JOURNEY 101

What is software testing?


*is a process used with the intention of fixing bugs ,errors in software
development before it could be released to the end-users .
+software bug is a failure or flow in program that produces incorrect or
undesired results.

Software testing principles

●​ A software cannot be bug-free


●​ Absence of error is a fallacy
●​ Testing reduces the probability of undiscovered defect in software
●​ Testing shows presence of a defect
●​ Testing should start ASAP in the software development cycle
●​ Test cases need to be regularly reviewed and revised
●​ Optimal amount of testing is required

Functions of Quality Assurance (QA)


*quality - degree of excellence
> Validation - To determine whether the product satisfies the specific needs
of the user or not.
> Documentation - To keep tracks of activities related to the development
and testing process.
> Assuring Quality of Products - To ensure that products meets customer
expectations regarding performance, safety, durability and functionality.
> Quality Improvement Plan - To effectively monitor and control quality
across the SDLC ( Software Development Life Cycle)
> Prevent defects
Types of testing

1.​ Functional Testing


2.​ Non-Functional Testing
3.​ Maintenance

Functional Non-Functional Maintenance


Testing Testing

*unit testing *performance *maintenance testing


testing
*integration *Usability testing *regression testing
testing
*smoke/san *load testing
ity testing
*user *installation
acceptance testing
testing

Levels of Testing

+​ Unit testing
+​ Integration testing
+​ System testing
+​ User acceptance testing

Definitions of the components of each type of testing


➢​Unit testing
* also called component testing
* Performed on standalone module to check whether software is
developed correctly
* Mostly done by developers ; reduces debugging
*Method used - White box testing
➢​System testing
●​ Is concerned with behavior of the system as a whole
●​ Checks complete end to end scenarios as a way a customer would
use the system

➢​User Acceptance testing


* Done at client location by the client
* Focus is to check whether the system meets their requirements

➢​Integration testing
●​ Carried out after unit testing
●​ Testing individual modules are combined and tested as a group
●​ Data transfer between the modules is tested thoroughly by
testers

➢​Smoke/Sanity testing
* To check critical functionalities of the system before it is accepted
for major testing
* It is quick and non-exhaustive
* Goal is to check system health

➢​Maintenance/Regression testing
●​ Carried out to check modification in software has not caused
unintended adverse side effects

➢​Performance testing
*the goal is to reduce the response time

➢​Load testing
●​ System performance at different load
●​ Stress determine the load under which the system fails and how it
fails
➢​Black box testing
* AKA “behavioral Testing
* Helps to look at the app from the perspective of its intended users
*Shield the QA team from knowledge of the program’s inner code
* Performed by software testers

➢​White box testing


●​ AKA “transparent box, glass /clear box testing ”
●​ Performed by software developers
●​ Is performed when the tester has access and is aware of the
software’s underlying structure and logic.
●​ Goal is to make the application more secure while enhancing its
aesthetics and usability.

➢​Grey/Gray box testing


*combination of black box and white box testing

➢​Usability testing
●​ Measure of how easily the system can be used by end users
●​ Performed to test the ease using an application
●​ It determines:
➔​Beta tests
➔​Usability surveys
➔​How easy it is to execute an application process
➔​How simple it is to understand application usage
➔​Direct observation of people using the system
●​ Imporant questions to be asked :
* How easy it is for a user who has never seen the product before to
carry out basic task ?
*how effective and efficient will it be for you a user who has used the
product before to quickly carry out frequent used tasks?
* how good is the user experience in using the product ?
it's checks for human factor problems like are outputs meaningful?
Are error diagnostics ststraightforward?

➢​Installation testing
●​ Focuses on what customers will need to do to install and set
up the new software successfully.
●​ It determines whether:
* the installation procedure is documented
*The personnel are trained in installation process
*the methodology for migration from old to new system is
documented

➢​Alpha testing
★​Most common software testing strategies used in software
development.
★​Is final testing before the software is released to the general public

➢​Beta testing
❖​AkA field testing
❖​Takes place at customer’s site
❖​Goal is to place your application in the hands of real users
outside of your own team

➢​ Requirement testing
*is a testing approach in which test cases,conditions and data are
derived from requirement.
* objective:
> to maintain correctness
>to implement the user requirement
* methods used to meet the objectives:
+use of checklist
+ creation of a matric
* usage of software testing :
+to ensure that system performs correctly
+to ensure that correctness can be sustained for long periods of time
+and through all faces of SDLC

➢​Configuration testing
*is the method of testing an application with multiple combination of
software and hardware to find out the optimal configuration that the
system can work without any flaws or bugs.

➢​Compatibility testing
●​ Used to ensure compatibility of the system/application /website
built with various other objects

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

Requirements
|
Design
|
Build
|
Test
|
Maintenance

SOFTWARE TESTING LIFE CYCLE (STLC)

Requirement analysis
|
Test planning
|
Test case development
|
Test environment set-up
|
Test execution
|
Test cyle closure

V-MODEL OF TESTING

MANUAL TESTING

★​Manual testing is that part of software testing that requires human


input ,analysis or evaluation.

Role of manual testing in software development


➢​To ensure that new applications or products are free of bugs
and defects before being released to the public .
➢​Involves having the QA team interacting with the program as a
user would, reviewing the behavior of software

Testing types used in manual testing processes


1.​ Black box testing
2.​ White box testing
3.​ Grey box testing
4.​ Unit testing
5.​ Integration testing
6.​ System testing
7.​ Acceptance testing

Step- by -Step : How to do manual testing


1.​ The projects requirements are examined to check for client
expectations.
2.​ A test plan is made.
3.​ Test cases that meet the requirement and covers various scenarios
are created.
4.​ Test cases are executed to find any issues .
5.​ Any issues found are reported and repaired
6.​ Once repaired , reruns are performed

SOFTWARE TESTING PROCESS

​Planning &Control
-Test planning major tasks:
* To determine the scope, risks and identify the objectives of testing
* To determine the test approach
* To implement the test strategy
* To determine the required test resources
* To schedule test analysis and design tasks,test
implementation,execution and evaluation
* To determine the exit coverage
-Test control major tasks:
*To make decisions
*To measure and analyze the results of reviews and testing
*To monitor and document progress , test coverage and exit criteria
*To provide information on testing
*To initiate corrective actions

​Analysis & Design


-Test analysis and Test design have the following major tasks:
> To review the test basis
> To identify test conditions
> To design the tests
> To evaluate testability of the requirements and the system
> To design the test environment set-up and identify the require
infrastructure and tools

​Implementation & Execution


●​ We take test conditions into test cases and procedures and
other testware for automation.
➢​Test implantation majot tasks:
*To develop and prioritize our test cases by using techniques
and create test data for those tests.
*To create test suites from the test cases
*To implement and verify the environment
➢​Test executio major tasks:
*To execute test suites and individual test cases following the test
procedures
*To compare actual results with expected results

​Evaluation Exit and Criteris and Reporting


>Exit criteria comes into picture when:
*maximum test cases are are executed with certain pass percentage
*Bug rate falls before certain level
*When achieved the deadlines
> Evaluating exit criteria major task
*To check the test logs against the exit criteria
*To write a summary report for stakeholders
*To assess if more tests are needed

​Test closure activities


-Done when software is delivered. The testing can be closed for other
reasons like :
+​ When all the information has been gathered which are needed
for testing
+​ When a project is cancelled
+​ When some target is achieved
+​ When a maintenance release or update is done
-​ Test closing activities have the following tasks:
*To check which planned deliverables are actually delivered
*To ensure that all incidents reports have been resolved
*To handover the testing to the maintenance organization
*To evaluate how testing went and learnt lessons for future releases
and projects

TESTING PLAN

❖​Software Test Plan : Is a document describing the testing scope and


activities. It discusses about objectives, approach, roles,
responsibilities and risks etc.
❖​Test plan : is a contract between the testers and the project team. It
describes the way in which they will show customers that the
software works correctly.
❖​A test plan states what the items to be tested are , at what level they
will be testing
❖​Test plan answers such questions as:
+​ What is being tested?
+​ What are pass/fail criteria?
+​ When will the test occur?
+​ What hardware and software environment is required?
+​ What features must be tested?
+​ What are the responsibilities of individuals and groups involved
in the project?

Importance of a test plan


❖​Helps us to determine the effort used to validate the quality of the
under test.
❖​Help people outside the test team understand the details of testing

How to write a test plan


1.​ Analyze the product
2.​ Design the test strategy
3.​ Define test criteria
4.​ Define the test objectives
5.​ Resource planning
6.​ Schedule & Estimation
7.​ Plan test environment
8.​ Determine test deliverables
Suspension criteria > specify the criteria to be used to suspend all or a
portion of the testing activities while resumption criteria> specify when
testing can resume after it has been suspended
TEST PLAN TEMPLATE

➔​Test plan identifier


➔​Introduction (purpose of the document)
➔​Test scope
Answers the following important Qs
+​ What will be covered in the test
+​ What will not be covered in the test
+​ Includes functional/structural requirements - system interfaces
➔​Test objective ( test goal )
➔​Assumptions
➔​Risk analysis
➔​Strategy
➔​Feature to be tested/not tested
➔​Roles and responsibilities
➔​Test schedule and resoureces
➔​Test environment
➔​Communication approach
➔​Test tools
TEST DESIGN
●​ Is the act of creating and writing test suites for testing software
●​ Importance of test design :
-Foundation to design and develop test script
-Greater confidence in quality
-Estimation of test effort

TEST SCENARIO
★​Is any functionality of the application under test that can be
tested. Also called Test condition/possibility.
TEST BASIS
➔​To create test case ypu need to look at something to base your test
TEST STRATEGY DOCUMENT
​Is more abstract, focuses on general guidelines and principles to
ensure that the right type of testing is done
TEST CASE
Good test case must :
●​ Be accurate and do what its indented to test
●​ No unnecessary steps should be included
●​ It should be reusable
●​ It should be compliant to regulation
●​ It should be independent
●​ It should be simple and clear
Tips for writing good test cases
*Test only one thing
*Organize your test case consistently
*Wite independent test cases
*Write small test cases
DEFECT TRACKING

1.​ Defect categories


a)​ Security defects - application security defects include improper
handling of data sent from the user to the application. Given the
highest priority for a fix.
b)​ Data quality/Database defects - deals with improper handling of
data in the database.
c)​ Critical functionality defects - The occurence of the bugs
hampers the crucial functionality of the application.
d)​ Functionality defects - These defects affect the functionality of
the application.
e)​ User interface defects - bugs delas with problems related to
user interface
How descriptive should your bug/defect report be?
+Bug title
+Bug identifier
+The application name or identifier version
+The function,module ,feature,object,screen etc
+Environment
+Bug type/category
+Bug severity
+Bug priority
+Bug status
+Test case name
+Bug description
+Steps to reproduce
+Actual results
+Tester

You might also like