0% found this document useful (0 votes)
22 views30 pages

Chapter 5

The document discusses system implementation and software testing. It covers coding standards, different types of testing like functional, structural and non-functional testing. It also discusses software testing principles like verification and validation. The document describes different levels of testing like unit testing and integration testing and provides details about each. It discusses techniques to detect faults like unit testing and integration testing.

Uploaded by

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

Chapter 5

The document discusses system implementation and software testing. It covers coding standards, different types of testing like functional, structural and non-functional testing. It also discusses software testing principles like verification and validation. The document describes different levels of testing like unit testing and integration testing and provides details about each. It discusses techniques to detect faults like unit testing and integration testing.

Uploaded by

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

Chapter Five

System
Implementation
and
Software Testing 01/18/2024
Outline
2

 System implementation
 Coding Standards
 Testing Principles
 Software Testing
 Types of Testing
 Level of Testing
01/18/2024
System Implementation
3

System Implementation

 Software implementation refers to the process of adopting and integrating a software

application into a business workflow (as a part of a digital transformation strategy).

 Implementation of new tools and software into an enterprise can be complex, depending on

the size of the organization and the software.

 It is the coding or programming activity is to implement the design in the best possible

manner.

01/18/2024
System Implementation
4

What is Coding ?
 The coding is the process of transforming the design of a system into a computer

language format, which can be executed by a computer and that perform tasks as

specified by the design of operation during the design phase.

 This coding phase of software development is concerned with software translating

design specification into the source code.

 It is necessary to write source code & internal documentation so that conformance of

the code to its specification can be easily verified.

 Coding is done by the programmers who are independent people than the designer.

01/18/2024
System Implementation
5

Goals of Coding
 To translate the design of system into a computer language format:

 To reduce the cost of later phases:

 The cost of testing and maintenance can be significantly reduced with

efficient coding.

 Making the program more readable:

 Program should be easy to read and understand. It increases code understanding having

readability and understandability as a clear objective of the coding activity can itself help

in producing more maintainable software.


01/18/2024
System Implementation
6

Coding standards
 It is a set of rules, techniques, and best practices to create cleaner, more readable,

more efficient code with minimal errors.

 The following are some representative coding standards:

 Indentation: Proper and consistent indentation re required.

 Inline comments: Inline comments analyze the functioning of the subroutine.

 Rules for limiting the use of global: These rules file what types of data can be

declared global and what cannot.

 Naming conventions for global variables, local variables, and constant identifiers:
01/18/2024
System Implementation
7

 We must use these coding standards to develop good software system because

coding error affects software testing and maintenance phases profoundly.


 Some examples of common coding errors include the following:

 Syntax error
 Runtime error
 Semantic error
 Logic error
 Disregarding adopted conventions in the coding standard
 Calling the wrong function

01/18/2024
Software Testing
8

 What is Testing ?

 Testing is the process of executing a program or system with the intent of finding errors.”
 It is the process of finding differences between the expected behavior specified by system

models and the observed behavior of the system.

 It is a process used to identify the correctness, completeness and quality of developed computer

software.
 One of the practical methods commonly used to detect the presence of errors in a program is to test it for a

set of inputs.

01/18/2024
Types of Testing
9

 Generally, there are three types of testing in software:

 Functional Testing

 Functional testing: finds differences between the use case model and the

system.

 Functional testing is a type of testing that seeks to establish whether each

application feature works as per the software requirements.

 Each function is compared to the corresponding requirement to ascertain

whether its output is consistent with the end user's expectations.


01/18/2024
Types of Testing
10

 Structural testing:

 It finds differences between the system design model and a subset of integrated

subsystems.

 It is a type of software testing which uses the internal design of the software for testing

or in other words the software testing which is performed by the team which knows the

development phase of the software, is known as structural testing.

 Nonfunctional testing: also called performance testing.

 It finds differences between nonfunctional requirements and actual system

performance.
01/18/2024
Software Testing Principles
11

 Verification
 The process of proving the programs correctness.
 It attempts to find faults before any execution of the system.
 It is a process of determining if the software is designed and developed as
per the specified requirements.

 Validation
 The process of finding errors by executing the program in a real
environment.
 It is the process of checking if the software (end product) has met the client's
true needs and expectations. 01/18/2024
Software Testing Principles
12

Debugging
 Debugging is the process of finding and fixing errors or bugs in the
source code of any software.
 There are two types of debugging techniques:
 Reactive debugging: a defect is reported in the application or an error occurs,
and the developer tries to find the root cause of the error to fix it.
 Preemptive debugging: involves writing code that doesn’t impact the
functionality of the program but helps developers, either catch bugs sooner or
debug the source code easily when the bug occurs.
01/18/2024
When to start Testing …?
13

 An early start to testing reduces the cost, time to rework and error free

software that is delivered to the client.

 However in Software Development Life Cycle (SDLC) testing can be

started from the Requirements Gathering phase and lasts till the

deployment of the software.


 However it also depends on the development model that is being used.

 For example in Waterfall model formal testing is conducted in the Testing phase

where as in V-Shape model it is conducted parallel with each SDLC.

01/18/2024
Software Reliability
14

 Software reliability is the probability that a software system will not

cause the failure of the system for a specified time under specified
conditions.
 The goal of testing is to maximize the number of discovered faults, and

increase the reliability of the system.


 The three classes of techniques for avoiding faults, detecting faults,

and tolerating faults are


1. Fault Avoidance Techniques
2. Fault Detection Techniques
3. Fault Tolerance Techniques 01/18/2024
Quality Control Techniques
15

01/18/2024
Level OF Testing
16

01/18/2024
Level OF Testing
17

01/18/2024
Fault Detection Techniques
18

 Unit testing

 It tries to find faults in participating objects and/or subsystems with


respect to the use cases from the use case model.
 A unit is the smallest testable part of software and in fact, the most
important level of testing.
 Unit testing finds differences between the object design model and its
corresponding component.
 Unit Testing is performed by using the method White Box Testing.

01/18/2024
Fault Detection Techniques
19

Integration testing

 It is the activity of finding faults when testing the individually tested

components together.

 It is a level of the software testing process where individual units are

combined and tested as a group.

 Integration testing tests interface between components, interaction to

different parts of system.


01/18/2024
Fault Detection Techniques
20

Integration testing approaches


 Big Bang is an approach to Integration Testing where all or most of the units are

combined together and tested at one go.


 Top Down is an approach to Integration Testing where top level units are tested

first and lower level units are tested step by step after
that. This approach is taken when top down development approach is followed.
 Bottom Up is an approach to Integration Testing where bottom level units are

tested first and upper level units step by step after that. This approach is taken
when bottom up development approach is followed.

01/18/2024
Fault Detection Techniques
21

 System Testing

 Functional Testing: Goal: Test functionality of system

Test cases are designed from the requirements analysis document and centered
around requirements and key functions (use cases).
The system is treated as black box

 Performance Testing: Goal: Try to violate non-functional requirements

 Test how the system behaves when overloaded.

 Check the system’s response to large volumes of data

 What is the amount of time spent in different use cases?

01/18/2024
Fault Detection Techniques
22

 Acceptance Testing

 Acceptance Testing is the last phase of software testing performed after System

Testing and before making the system available for actual use.

 The goal of Acceptance Testing is to demonstrate system is ready for

operational use.

 Choice of tests is made by client

 Many tests can be taken from integration testing

 Acceptance test is performed by the client, not by the developer.

01/18/2024
Fault Detection Techniques
23

 Acceptance Testing

Alpha test:

 It is a type of software testing performed to identify bugs before releasing the product to real

users
 Client uses the software at the developer’s environment.

 Software used in a controlled setting, with the developer always ready to fix bugs.

Beta test:

 Beta Testing is performed by real users of the software application in a real environment. Beta

testing is one type of User Acceptance Testing.


 Conducted at client’s environment (developer is not present)

 Software gets a realistic workout in target environment .


01/18/2024
Types of Performance Testing
24

Stress Testing • Environmental test


– Stress limits of system – Test tolerances for heat, humidity, motion
• Volume testing • Quality testing
– Test what happens if large – Test reliability, maintainability &
amounts of data are handled availability
• Compatibility test • Recovery testing
– Test backward compatibility – Test system’s response to
with existing systems presence of errors or loss of data
• Timing testing Evaluate response times • Human factors testing
Security testing – Test with end users

Try to violate security requirements


01/18/2024
Software Testing Terminology
25

 Defect:

 It can be simply defined as a variance between expected and actual


behavior of the software.
 It is an error found AFTER the application goes into production.
 An error founded by tester is called Defect
 It is the deviation of the customer requirement & the software product.

 Defect can be categorized into the following:

 Error, Bug, Fault, Failure and Wrong Specification.

01/18/2024
Software Testing Terminology
26

 Errors
 It is a mistake, misconception, or misunderstanding on the part of a software developer.
 For example, a developer may misunderstand a de-sign notation, or a programmer
might type a variable name incorrectly, this leads to an Error.

 Bug
 is a coding or programming error that causes a program to work poorly,
produce incorrect results or crash.
 it is an error in software or hardware that causes a program to malfunction.
 It is a the terminology of software Tester.

01/18/2024
Software Testing Terminology
27

 Faults
 A fault is introduced into the software as the result of an error.
 It is an anomaly in the software that may cause it to behave incorrectly, and not
according to its specification.
 It is a design or coding mistake that may cause abnormal component behavior.
 A fault in the code does not always produce a failure.

 Failures
 It is the inability of a software system or component to perform its required functions
within specified performance requirements.
 When a defect reaches the end customer it is called a Failure.

01/18/2024
Software Testing Terminology
28

 Black Box Testing

 It is a high level of testing that focuses on the behavior of the software.


 It focus on the input/output behavior of the component.
 Testing can start after preparing requirement specification document.
 Programming knowledge is not needed to perform Black Box testing.
 Used to find errors without executing the program rather by based on
external expectations;
 It is also known as Verification.

01/18/2024
Software Testing Terminology
29

 White Box Testing

 It is considered as low-level testing focus on the internal structure

of the component.

 It needs programming knowledge to perform White Box testing.

 Used to find error by executing the programs.

 Usually done by software tester and developers.

01/18/2024
30

End!
01/18/2024

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy