0% found this document useful (0 votes)
2 views

Module 1

The document provides an overview of software testing and quality, detailing the software development phases, testing processes, and best practices. It distinguishes between black box and white box testing methods, outlines the reasons for software defects, and emphasizes the importance of quality in meeting customer requirements. Additionally, it highlights the roles of various participants in testing and the significance of early and continuous testing to ensure software quality.

Uploaded by

shahbhumikak
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Module 1

The document provides an overview of software testing and quality, detailing the software development phases, testing processes, and best practices. It distinguishes between black box and white box testing methods, outlines the reasons for software defects, and emphasizes the importance of quality in meeting customer requirements. Additionally, it highlights the roles of various participants in testing and the significance of early and continuous testing to ensure software quality.

Uploaded by

shahbhumikak
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

**Module 1: Introduction to Software**

**Testing and Quality**

**Objectives:**

* Explain Software Testing

* Phases of Software Development

* Introduce the Software Testing process

* Best Practices and Challenges of Software Testing

* Black Box and White Box testing

* Explain Quality

**What is Software:**

* Software is a set of instructions executed by a computer which are


designed to perform a particular task.

* Generally these set of instructions is termed as program.

* Two categories

* System Software – The software which helps the computer to


function. E.g. Operating System

* Application Software – The software which helps user to perform


tasks. E.g. Spread sheet, Word Processors.

**The Phases of Software Development:**

![](.\Lesson1\Lesson1-1.png)

**What Is Software Testing?**

1. Software testing is a **process** of analyzing or operating

software for the purpose of **finding bugs.**

2. Testing is the process of identifying defects, where a defect

is any variance between **actual and expected results.**

3. Software testing is the process used to help identify the

**correctness, completeness,** security, and quality of

developed computer software.


4. Testing is generally described as a group of procedures

carried out to **evaluate** some aspect of a piece of software.

5. Testing can be described as a process used for revealing

defects in software, and for establishing that the software

has attained a specified degree of **quality** with respect to

selected attributes.

**What Is Software Testing?**

![](.\Lesson1\Lesson1-2.png)

**Why Do We Test Software?**

To demonstrate that the software is doing what it is supposed to do as


well as the

software is not doing what it is not supposed to do.

**Fundamental Objective of software testing :**

The fundamental objective of testing is to find defects, as early as


possible and get them fixed.

**Why Software Has Bugs?**

* Software have bugs because of following reasons

* Ambiguous/Unclear Requirements

* Increased Complexity of Software

* Programming Errors

* Poor Documentation/Knowledge Transfer

* Communication Gap

* Inability to Manage Change

* Time Pressure/Deadlines

**Why Software Has Bugs , Look at the picture :**


Typical projects follow this funny story & this is how they end having
bugs in the software they developed

So basically here customer has explained about what customer is in


need of in the first image & you can follow the images which will
explain you how the software is delivered :-)

![](.\Lesson1\Lesson1-3.png)

**What is defect?**

* The software doesn’t do something that the product specification


says it should do.

* The software does something that the product specifications says it


shouldn’t do.

* The software does something that the product specification doesn’t


mention.

* The software doesn’t do something that the product specification


doesn’t mention but should do.

* Difficult to understand, hard to use, slow etc.

**Software Testing Process:**

* Test Planning

* Test Design

* Test Implementation (In case of Automation)

* Test Execution

* Test Analysis

* Postmortem reviews

**Test Entry Criteria , In-short when to start testing ?**

* Timing: As soon as we have a Software Requirements (baseline).

* Objective – To trap requirements-related defects as early as they


can be identified.

* Approach – Test Requirements

**Test Completion Criteria / Exit Criteria **


Following factors are considered,

* Deadlines, e.g. release deadlines, testing deadlines;

* Test cases completed with certain percentage passed;

* Coverage of code, functionality, or requirements reaches a specified


point;

* Bug rate falls below a certain level

* Beta or alpha testing period ends

**Participants in Testing – Who ?**

* Customers

* Users

* Developers (Includes individuals / groups which gather requirements,


design, build, change and maintain software)

* Testers

* Senior Management

* Auditors

**Best Practices of Testing: **

1. Establish an early, integrated master testing and evaluation plan

2. Make preventive testing part of all specification work

3. Inventory test objectives and design for testability

4. Test early, Test often

5. Measure test costs, coverage, results, and effectiveness

**Challenges in Testing:**

1. Testing considered late in the project


2. Requirements not testable
3. Integrate after all components have been developed
4. Test progress hard to measure
5. Complete Testing is not possible

**Economics of Testing: **
![](.\Lesson1\Lesson1-4.png)

**Test Methods:**

* Black box testing (also called functional testing): Test the specs
(Do not look inside the code)

* White box testing (also called structural / glass box testing): Test
the code

**Black Box Testing:**

* Approach to testing where the program is considered as a “black-


box”.

* Testing based solely on analysis of requirements (specification,


user documentation, etc.).

* Also called *functional* testing or “data-driven” or “I/O-


driven” testing.

* The test cases are based on specifications.

* Black-box testing techniques apply to *all* levels of testing (e.g.,


unit, component and system).

* Test planning & design can begin early in software process

* Conducted for Integration testing, System Testing & Acceptance


Testing

* Test Case Design Methods:

Commonly used methods

* Equivalence Partitioning Method

* Boundary value Analysis

* Error guessing Lesser used methods

* Cause Effect Graph

* State transition testing

* Use case based testing

**White Box Testing:**

* Testing that takes into account internal structure and flow of a


system or component.
* The testing is based on code structure or the algorithm

* White box testing assumes that the procedural design and code is
known to the tester.

* Obviously test design can be done only after coding is complete.

* White box tests are inherently finite

* You can derive test cases that:

​ 1.Exercise all independent execution paths

​ 2.Exercise all logical decisions on both true and false sides

​ 3.Execute all loops at their boundaries and within operational


bounds

* Test Case Design Methods

* Statement coverage

* Decision coverage

* Condition coverage

* Multiple condition coverage

**Static testing VS Dynamic testing**

* Static Testing

​ 1. A form of verification that most of the times does not


requires execution of software.

​ Ex. Inspecting documents/artifacts

* Dynamic Testing

​ Requires the execution of the software.

​ Ex. Output Validation

**Static and Dynamic Testing**

![](.\Lesson1\Lesson1-5.png)

**Part 2: Fundamentals of Software Quality**

**What** **is** **Quality**

**Quality** **Views**
**Quality** **and** **Productivity**

**Employee involvement in** **Quality**

**What is Quality?**

* High levels of user satisfaction and low level of defects often


associated with low complexity: Tom McCabe.

* Quality is another name of consistently meeting customer’s


requirements, cost, delivery schedule and services offered.

* Quality must be measurable and should predictable.

**Quality quote**

Quality is value to some person (who matters) !

**Quality Views for customer **

Delivering the right product

Satisfying customer’s needs

Meeting the customer’s expectations

Treating every customer with integrity, courtesy, respect

**Quality Views for supplier**

* Doing the right thing

* Doing it the right way

* Doing it right the first time

* Doing it on time

* Any difference between the two views can cause problems

**Quality Means**

* Consistently meeting customer needs in terms of:

​ 1. Requirements

​ 2. Cost
​ 3. Delivery schedule

​ 4. Service

**Customer is KING**

* Customer is the most important entity in the improvement process.

* Organization should dedicate efforts towards customer delight.

* Organization must define Quality before it can be achieved.

* Top management should have 100% involvement in the process of


improvement.

* Management should lead the organization on the path of Quality.

**Quality - Productivity**

* Increase in Quality can directly lead to increase in productivity.

* Rework, Repairs and complaints are key factors affecting Quality and
productivity

* Direct relationship between Quality and cost of the process and


product.

**Employee Involvement in Quality Program**

* Employee involvement is the cornerstone of quality program

* Proper communication between management and employees must exist

* Employees participate and contribute to improvement of processes

* Employees share the responsibility for innovation and quality


improvement

**Shift in Focus for Quality**

* QUALITY CONTROL (QC)

* QUALITY ASSURANCE (QA)


* QUALITY MANAGEMENT SYSTEM (QMS)

**Software Quality: Simple Tips**

* Aim at ‘customer delight’

* Have measurable objectives


* Understand requirements accurately; have a thorough traceability of
ALL requirements

* Implement the Plan-Do-Check-Act Cycle in each phase

* Detect and remove defects as early as possible: Prevention is better


than cure

* Systematic change control and version control must exist

* Follow easy to use standards / conventions for naming, commenting

**Quick Recap**

* Software testing aims to verify that product does what is intended


to do and does not do what not intended to do.

* Testing follows the basic course of planning, designing, execution


and analysis.

* Black box testing focuses on input and output while white box
focuses on the processing done on the input for generating the output.

* To deliver quality applications on time, start testing early and


do often.

* Quality is consistently meeting customer needs

**Additional Reference Material :**

* What is software testing ? Why its important ?


https://www.youtube.com/watch?v=TDynSmrzpXw
* What is software testing ? https://www.youtube.com/watch?
v=cDQ34z0oqnQ

* SDLC & Software testing quick intro : https://www.youtube.com/watch?


v=i-QyW8D3ei0

* Examples of Real Software Engineering Bugs :


https://www.youtube.com/watch?v=C2kyxaQaXKc

* Top Ten Most Disastrous Software Bugs :


https://www.youtube.com/watch?v=AGI371ht1N8

* Difference between error, mistake, defect, bug , fault, and


failure : https://www.youtube.com/watch?v=yAtIBswQ-P8
* Software can expect lot of bugs ? because requirement are not
clear , funny example :

​ https://www.youtube.com/watch?v=BKorP55Aqvg

* White Box Testing : https://www.youtube.com/watch?v=3bJcvBLJViQ

* Black Box Vs. White Box Testing : https://www.youtube.com/watch?


v=6pbB37nFUZw

* Static Vs. Dynamic Testing : https://www.youtube.com/watch?


v=QZjcK6Shz4k

* QA / QC / QMS : https://www.youtube.com/watch?v=wWo4XyQAxc0

**Exercise :**

For this entire course we will be referring to a e-commerce web shop


site , so this will called as AUT / SUT it means software under test
or application under test , In a nutshell this is our target
application on which we need perform / conduct our testing.

1. You need to take review of this web application :


http://demowebshop.tricentis.com/

You must try :

1. Registering yourself on this e-commerce site

2. Search a product

3. Filter a with category

4. Add to cart

Above are the examples of scenarios , Now create a spreadsheet &


document different scenarios , Basically you need to document about
what all scenarios have you tried on this web application?

Now that you have understood most of the user journeys / functional
scenarios of this SUT (Software under test) , Let's move on to next
lesson.
Test Scenario Document:

You might also like