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

STQA Introduction PPT 3 (Unit 3)

The document discusses testing of client-server systems, multi-platform environments, and object-oriented software. It describes the client-server model and challenges in testing these systems across different platforms. It also covers issues in object-oriented testing like the basic unit of testing and implications of concepts like encapsulation, inheritance, polymorphism. Specific object-oriented testing methods like state-based, fault-based, and scenario-based testing are explained.

Uploaded by

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

STQA Introduction PPT 3 (Unit 3)

The document discusses testing of client-server systems, multi-platform environments, and object-oriented software. It describes the client-server model and challenges in testing these systems across different platforms. It also covers issues in object-oriented testing like the basic unit of testing and implications of concepts like encapsulation, inheritance, polymorphism. Specific object-oriented testing methods like state-based, fault-based, and scenario-based testing are explained.

Uploaded by

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

MC5503-Software Testing and Quality Assurance

Semester - V
Objectives
 To understand standard principles to check the occurrence of defects and its
removal.
 The testing for predictable systems is appropriate over all situations,
applications and architectures, but at times exclusive guidelines and methods
to testing are essential.
 Specific testing methods include an extensive variety of software abilities and
application areas.
 Testing for graphical user interfaces, client / server architectures,
documentations and help facilities and real time systems one and all need
specific strategies and techniques.
Unit – 3 – TESTING FOR SPECIALIZED ENVIRONMENT

Testing Client / Server Systems – Testing in a Multiplatform Environment - Testing


Object Oriented Software – Object Oriented Testing – Testing Web based systems – Web
based system – Web Technology Evolution – Traditional Software and Web based
Software – Challenges in Testing for Web-based Software – Quality Aspects – Web
Engineering – Testing of Web based Systems. Case Study for Web Application Testing
Testing Client/Server Systems

 The client-server model of computing is a distributed application assembly


that divide tasks or capabilities between workers of a resource or facility,
called servers, and service supplicants, called clients.
 Client and server architecture are a computing model in which the server
hosts, delivers and manages most of the resources, request and services to be
expended by the client.
 This type of architecture has one or more clients are associated to a central
server by the network or Internet linking.
Diagram – Client-Server Architecture
Client-Server - Advantages

 Improved Data Sharing


 Integration of Services
 Shared Resources Amongst Different Platforms
 Easy Maintenance
 Security
Client- Server- Disadvantages

 Overloaded Servers
 Impact of Centralized Architecture
 Congestion in Network
 Expensive
Testing in Multiplatform Environment
 Each platform on which software is designed to execute operationally
may have slightly different characteristics.
 These distinct characteristics include various operating systems,
hardware configurations, operating instructions, and supporting
software, such as database management systems.
 These different characteristics may or may not cause the software to
perform its intended functions differently. The objective of testing is
to determine whether the software will produce the correct results
on various platforms.
Challenges Faced by Testers in Multiplatform
Environment
 Determining the type of platform that users operate for the
processing
 Determining which software packages are available to those users
 Determining the type of processing users used in user environment
Workbench of Multiplatform Environment
Two inputs for testing in a multiplatform Environment

 List of platforms on which software must execute.


 Software to be Tested.
Procedure of Multiplatform Environment

 Define platform configuration concerns


 List needed platform configurations
 Assess Test Room Configurations
 List structural components affected by the platform
 List interfaces platform affects
 Execute the tests
Testing Object-Oriented Software

 Object-oriented programming features in programming languages


obviously impact some aspects of testing.
 Features such as class inheritance and interfaces support
polymorphism in which code manipulate objects without their
extract class being known
Issues- OO Testing

 Basic unit of unit testing.


 Implication of Encapsulation.
 Implication of Inheritance.
 Implication of Genericity.
 Implications of Polymorphism
Object Oriented Testing

 In OO paradigm, software engineers identify and specify the


objects and services provided by each object.
 The main advantages of OO paradigm include reusability,
reliability, interoperability and extendibility
 It should be tested at different levels to uncover all the errors.
 White box testing can be applied easily
Features of OO Testing
 To perform effective testing, a software team should conduct effective
formal technical reviews.
 Testing begins at the component level and work outward toward the
integration of the entire computer-based system
 Different testing techniques are appropriate at different points in time
 Testing is conducted by the developer of the software and an independent
test group
 Testing and debugging are different activities.
Developing Test Cases in Object-Oriented Testing

 It should be explicitly specified with each test case


 Purpose of each test case should be mentioned
 All the states of objects that is to be tested should be specified
 Instructions to understand and conduct the test cases should be
provided with each test case
Object Oriented Testing Methods

State
Based
Testing

Object-
Oriented
Testing
Methods

Fault Based Scenario


Testing Based
Testing
State-Based Testing

 It is used to verify whether the methods of a class are interacting


properly with each other.
 This testing seeks to exercise the transitions among the states of based
upon the identified inputs
Fault-based Testing

 This type of checking permits for coming up with test cases supported the consumer
specification or the code or both.
 It tries to identify possible faults
 For all of these faults, a test case is developed to “flush” the errors out. These tests
also force each time of code to be executed.
 These types of errors can be uncovered by function testing in the traditional testing
model.
Scenario-Based Testing

 It primarily involves capturing the user actions then stimulating them to similar
actions throughout the test.
 These tests tend to search out interaction form of error.
 This is used to detect errors that are caused due to incorrect specifications and
improper interactions among various segments of the software
Object Oriented(OO) Testing Strategies

Object-Oriented(OO) Testing
Strategies

Unit Testing in OO Context Integration Testing in OO


Context

Validation Testing in an OO
Context
Unit Testing in OO Context:
This means that each class and each instance of a class, attributes and
operations that manipulate these data
Integration Testing in OO Context:
Integrating operations one at a time into a class is often impossible because
of the “direct and indirect interactions of the components that make up the
class”
Validation Testing in an OO Context:
At the validation/system level, the details of class connections disappear.
Validation of OO software focuses on user-visible actions and user-
recognizable output from the system
Testing Web Based Systems
 Web based architecture is an extension of client/server architecture.
 For web-based systems, the browsers reside on client work stations. These
client work-stations are networked to a web server, either through a
remote connection or through a network such as LAN/WAN.
 Web-based systems are those systems that use the Internet, intranets, and
extranets.
 The Internet is a worldwide collection of interconnected networks.
 An intranet is a private network inside a company using web-based
applications, but for use only within an organization.
 An extranet is a private network that allows external access to customers
and suppliers using web-based applications.
Web-based Systems

 A web-based system provides access to a software system using a computer


and internet connection.
 It is a living system. Helps to create an infrastructure that will allow
evolution and maintenance of a web system.
 Web systems and applications are always under continuous evolution due to
technology up gradation and business dynamics
Characteristics of Web based system

 Network intensive
 Multiple user types with diverse needs
 Content driven
 Appealing and attractive aesthetics
 Use of multiple data types
 Requires IT and non-IT skill resource
Advantages

 Web based systems are more accessible


 Web based systems have a lower maintenance and deployment
Web Technology Evolution

 It was introduced in 1980s.


 The development responsible for this change within the web technology
landscape are spread across different fields.
 It has to do with advancements in mark-up languages, programming
languages, server technology, data transmission technology and
infrastructure that supports internet
Key areas of evolution of web technologies

 HTML
 Development in Browsers
 Advancement in web server technology
 Web Technology of the future
Categories of Web Based Systems

Category/Functionality Examples
Informational Online newspaper, newsletter, online
books
Interactive Registration forms, online games
Transactional Online Shopping, online banking
Workflow oriented Inventory management, Supply chain
Management
Collaborative work environments Distributed authoring systems
Online communities, marketplaces Discussion groups,e-malls
Traditional Software and Web Based Software
 Clients of the traditional client-server systems are platform-specific.
This means that a client application is developed and tested for each
supported client operating system. But the web client is operating within
the web browser's environment.
 Web-based systems have a more dynamic environment as compared to
traditional client-server systems. In client-server systems, the roles of
the clients and servers and their interactions and are predefined and
static as compared to web applications where client-side programs and
contents may be generated dynamically.
 In the traditional client-server systems, the normal flow of control is not
affected by the user. But in web applications, users can break the
normal control for example, users can press the back or refresh button
in the web browser.
Challenges in Testing for Web-based
software
 Integration
 Interoperability
 Security
 Performance
 Usability
Quality Aspects

 Reliability
 Usability
 Security
 Availability
 Scalability
 Maintainability
 Time-to-Market
Web Engineering
 Web Engineering is the application of systematic, disciplined and
quantifiable approaches to development, operation, and maintenance
of Web-based applications. It is both a pro-active approach and a
growing collection of theoretical and empirical research
in Web application development.
 It is a way of developing and organizing knowledge about web application
development and applying that knowledge to develop web application
 It is a way of managing the complexity and diversity of web applications.
Web Engineering-Diagram

Software Hypermedia
Engineering

Web
Engineering
Information
Network
Systems
engineering
Need of Web Engineering

 Web Developer’s Experience, New Technologies


 Characteristics and Complexity of Web Applications
 Multidisciplinary Nature of Web Development
Difference between Web Applications and Conventional Software
Categories of Web Application
Web Engineering Activities
Testing of Web-based Systems
 Web testing is a software testing practice to test websites or web
applications for potential bugs. It's a complete testing of web-based
applications before making live.
 A web-based system needs to be checked completely from end-to-end
before it goes live for end users.
 By performing website testing, an organization can make sure that the
web-based system is functioning properly and can be accepted by real-
time users.
Work-bench of Web-based Texting

Do Check

Rework

Task1
Test
Web Web-Test
Performed
Software Task 2 Report
Correctly

Task 3

Task 4
Work-bench of Web-based Texting

 Step 1:Select Web-Based Risks to Include in the Test Plan(security, Reliability,


Usability, Completeness, etc)
 Step2:Select Web-Based Tests(unit, integration ,system ,user acceptance,
performance, regression, etc)
 Step 3:Select Web-Based Test Tools(HTML Tools, Site Validation Tools, Load/Stress
Testing Tools, Test Case Generators)
 Step 4:Test Web-Based Systems: This process may have to be modified based on the
risks associated with web-based testing.
Concerns in Web-based Systems

 Browser Compatibility
 Function Correctness
 Integration
 Usability
 Security
 Performance
 Verification of Code

You might also like