This document discusses slice based testing and object oriented testing. It defines a program slice as a subset of a program. It describes the origins of static and dynamic slicing techniques. Static slicing uses static program information while dynamic slicing uses execution traces. The document also discusses different levels of object oriented testing like class/unit testing, interclass/integration testing, and system testing. It provides details on the class testing process and developing test cases for classes. Finally, it outlines some issues in object oriented testing like additional techniques needed to test dependencies and difficulties testing states and polymorphism.
The purpose of types:
To define what the program should do.
e.g. read an array of integers and return a double
To guarantee that the program is meaningful.
that it does not add a string to an integer
that variables are declared before they are used
To document the programmer's intentions.
better than comments, which are not checked by the compiler
To optimize the use of hardware.
reserve the minimal amount of memory, but not more
use the most appropriate machine instructions.
Hai I'm Senthilkanth, doing MCA in Mepco Schlenk Engineering College..
The following presentation covers topic called WML for BSc CS, BCA, MSc CS, MCA, ME students.Make use of it. WML Script by Shanti katta.
This presentation agenda like,
The purpose of types:
To define what the program should do.
e.g. read an array of integers and return a double
To guarantee that the program is meaningful.
that it does not add a string to an integer
that variables are declared before they are used
To document the programmer's intentions.
better than comments, which are not checked by the compiler
To optimize the use of hardware.
reserve the minimal amount of memory, but not more
use the most appropriate machine instructions.
Hai I'm Senthilkanth, doing MCA in Mepco Schlenk Engineering College..
The following presentation covers topic called WML for BSc CS, BCA, MSc CS, MCA, ME students.Make use of it. WML Script by Shanti katta.
This presentation agenda like,
Basic cellular system, cellular system, What is cellular system, Generations of cellular system, Features of cellular systems, Shape of cells, Types of Basic cellular systems, Types of cellular systems, Circuit-Switched Systems, Analog cellular system, Analog cellular system, Digital Systems , Packet-switched system, 1g, 2g, 3g, 4g, 5g, MGCGV, Shubham Mishra
Basic cellular system, cellular system, What is cellular system, Generations of cellular system, Features of cellular systems, Shape of cells, Types of Basic cellular systems, Types of cellular systems, Circuit-Switched Systems, Analog cellular system, Analog cellular system, Digital Systems , Packet-switched system, 1g, 2g, 3g, 4g, 5g, MGCGV, Shubham Mishra
How do you determine the test coverage of your application per project? Do you have strategies in place? Do you know when to implement methods to examine your test coverage? How do you know enough is enough?
Jay and Jean Ann discuss the meaning of test coverage and use 4 concepts to help determine when "enough is enough" providing approaches on how to discover the data required to make a informed decisions on what to test, where to test, what testing is missing and how much testing is needed based on scope of project. By breaking down the types of coverages, Jay and Jean Ann built some guiding strategies which testers can immediately apply to their testing projects with more confidence in achieving a stronger sense of quality in their efforts. Take back a stronger understanding of test coverage which makes test design more thorough and answers a higher level of quality.
** Presentation given at CAST 2014 by Jay Philips & Jean Ann Harrison
Executive Directors Chat Leveraging AI for Diversity, Equity, and InclusionTechSoup
Let’s explore the intersection of technology and equity in the final session of our DEI series. Discover how AI tools, like ChatGPT, can be used to support and enhance your nonprofit's DEI initiatives. Participants will gain insights into practical AI applications and get tips for leveraging technology to advance their DEI goals.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
How to Build a Module in Odoo 17 Using the Scaffold MethodCeline George
Odoo provides an option for creating a module by using a single line command. By using this command the user can make a whole structure of a module. It is very easy for a beginner to make a module. There is no need to make each file manually. This slide will show how to create a module using the scaffold method.
This presentation includes basic of PCOS their pathology and treatment and also Ayurveda correlation of PCOS and Ayurvedic line of treatment mentioned in classics.
The simplified electron and muon model, Oscillating Spacetime: The Foundation...RitikBhardwaj56
Discover the Simplified Electron and Muon Model: A New Wave-Based Approach to Understanding Particles delves into a groundbreaking theory that presents electrons and muons as rotating soliton waves within oscillating spacetime. Geared towards students, researchers, and science buffs, this book breaks down complex ideas into simple explanations. It covers topics such as electron waves, temporal dynamics, and the implications of this model on particle physics. With clear illustrations and easy-to-follow explanations, readers will gain a new outlook on the universe's fundamental nature.
Safalta Digital marketing institute in Noida, provide complete applications that encompass a huge range of virtual advertising and marketing additives, which includes search engine optimization, virtual communication advertising, pay-per-click on marketing, content material advertising, internet analytics, and greater. These university courses are designed for students who possess a comprehensive understanding of virtual marketing strategies and attributes.Safalta Digital Marketing Institute in Noida is a first choice for young individuals or students who are looking to start their careers in the field of digital advertising. The institute gives specialized courses designed and certification.
for beginners, providing thorough training in areas such as SEO, digital communication marketing, and PPC training in Noida. After finishing the program, students receive the certifications recognised by top different universitie, setting a strong foundation for a successful career in digital marketing.
Normal Labour/ Stages of Labour/ Mechanism of LabourWasim Ak
Normal labor is also termed spontaneous labor, defined as the natural physiological process through which the fetus, placenta, and membranes are expelled from the uterus through the birth canal at term (37 to 42 weeks
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
A workshop hosted by the South African Journal of Science aimed at postgraduate students and early career researchers with little or no experience in writing and publishing journal articles.
3. Origin Story of Slicing Techniques . . ! !
● The Original definition was
given by Mark Weiser,
● slicing was only static that time.
● Bogdan Korel and Janusz Laski
introduced dynamic slicing.
Varsha Sharma
4. Also known as Program Slicing Technique...
● In this we takes a slice of the program for testing particular test
conditions or cases and that may affect a value at a particular point of
interest.
Useful
in
Debugging
Testing
Software
Quality
Assurance
Software
Maintenance
Filtering out
“Irrelevant
Code”.
Varsha Sharma
7. Static Slicing
1. Set of all statements that may affect the
value of a variable at a program point.
2. Uses static information i.e. a source
program.
3. Regression Testing.
Varsha Sharma
8. Static Slicing
For variable sum.
int z = 10;
int n;
cin >> n;
int sum = 0;
if (n > 10)
sum = sum + n;
else
sum = sum - n;
cout << "Hey";
Let’s see an Example:
Static Slice of the Program
Varsha Sharma
9. 1. Set of all statements that actually affect the
value of a variable at a program point.
2. Uses dynamic information i.e. an execution
trace.
3. Debugging.
Dynamic Slicing
Varsha Sharma
10. For variable sum when n=22.
int z = 10;
int n;
cin >> n;
int sum = 0;
if (n > 10)
sum = sum + n;
else
sum = sum - n;
cout << "Hey";
Let’s see an Example:
Dynamic Slice of the Program
Dynamic Slicing
Varsha Sharma
11. int z = 10;
int n;
cin >> n;
int sum = 0;
if (n > 10)
sum = sum + n;
else
sum = sum - n;
cout << "Hey";
int n;
cin >> n;
int sum = 0;
if (n > 10)
sum = sum + n;
int n;
cin >> n;
int sum = 0;
if (n > 10)
sum = sum + n;
else
sum = sum - n;
Static Slicing VS Dynamic Slicing
Varsha Sharma
12. Object Oriented Testing
As information systems are becoming more complex, the object-oriented paradigm
is gaining popularity because of its benefits in analysis, design, and coding.
Varsha Sharma
14. Levels/Techniques of Object Oriented Testing :
Class Testing/ Unit
Testing
• Every individual
classes are tested
for errors or bugs.
Interclass Testing/
Integration testing/
Sub-system testing.
• Modules or sub-
systems are
tested and their
coordination with
other modules.
System Testing
• Whole System is
Tested.
Varsha Sharma
16. Developing Test Cases
Points to be noticed :
i. Identify each test case uniquely
ii. State the purpose of the test
iii. All the states of object that is to be tested should be
specified.
iv. External Conditions should be mentioned
v. Automated unit testing tools facilitate these requirements
Varsha Sharma
17. Issues in Object
Oriented Testing ??
1. Additional testing techniques are
required to test additional
Dependencies in Object Oriented
System.
2. it is not possible to test the class
dynamically
3. the concept of inheritance &
polymorphism opens various issues
4. Encapsulation in class may create
obstacles while testing.
5. State of object is difficult to acquire.
Varsha Sharma
Program slices are more manageable for testing and debugging rather than taking up whole code.
• During testing, debugging, or understanding a program, most of the code in the program is irrelevant to what you are interested in.
• Program slicing provides a convenient way of filtering out “irrelevant” code.
Slicing criterion may include:
Slicing variable: Slicing variable may be based on the variables specified in the criteria (slicing point of interest) or it may be on all variables.
Type of the result: The result of slicing may be equivalent to the program of few set of statements from the program.
Slicing Point: Considering the Slicing point, programmer interest may be before or after a particular statement [4].
Scope: The scope of the slice may be interprocedural or it may be intraprocedural [30].
Slicing Direction: The expected slice from the program may be in the forward or backward direction.
Type of Information: The information that we obtain from the slice will be either a static or it may be a dynamic one.
Output format: The format that can be obtained after slicing may seem to be in the form of code which is equivalent to source code or it may be a dependence graph or may be in the form of execution tree.
A static slice of a program contains all statements that may affect the value of a variable at any point for any arbitrary execution of the program.
Static slices are generally larger.
It considers every possible execution of the program.
A dynamic slice of a program contains all the statements that actually affect the value of a variable at any point for a particular execution of the program.
Dynamic slices are generally smaller.
Considers only a particular execution of the program.
static slice takes all the possible execution (in this case it is 2) of the program which may affect the value of the variable sum. Whereas in case of dynamic slicing, it considers only a particular execution (when n = 22) of the program which may affect the value of the variable sum.
Whenever large scale systems are designed, object oriented testing is done rather than the conventional testing as the concepts of object oriented programming is way easy than conventional ones.
this testing revolves around the fundamental entity known as “class”.
With this ,the larger systems are divided into small units which may then be implemented separately.
We are aware of OOP that it is a particular way of programming that leverage the concept of Classes and Objects and the 4 paradigms of
Object Oriented Programming that are
Abstraction: a process where you show only “relevant” data and “hide” unnecessary details of an object from the user.
Encapsulation: a practice that bind the data with the code that manipulates it and keeps the data and the code safe from external interference
Inheritance: the mechanism by which an object acquires the some (or all) properties of another object.
Polymorphism: a way to process objects differently based on their data type. In other words objects can have the same name for a method but the implementation may differ.
Class testing ensures that the attributes of class are implemented as
per the design and specifications. Also, it checks whether the
interfaces and methods are error free of not.
- System testing: the system is tested as whole and primarily functional testing techniques are used to test the system. Non-
functional requirements like performance, reliability, usability and test-ability are also tested.
Identify each test case uniquely - Associate test case explicitly with the class and/or method to be tested
State the purpose of the test
Each test case should contain:
A list of messages and operations that will be exercised as a consequence of the test
A list of exceptions that may occur as the object is tested
A list of external conditions for setup (i.e., changes in the environment external to the software that must exist in order to properly conduct the test)
Supplementary information that will aid in understanding or implementing the test
Automated unit testing tools facilitate these requirements
the dependencies occurring in conventional systems are:
Data dependencies between variables
Calling dependencies between modules
Functional dependencies between a module and the variable it computes
Definitional dependencies between a variable and its types.
But in Object-Oriented systems there are following additional dependencies:
Class to class dependencies
Class to method dependencies
Class to message dependencies
Class to variable dependencies
Method to variable dependencies
Method to message dependencies
Method to method dependencies
2. it is not possible to test the class dynamically, only its instances i.e, objects can be tested.
3. the concept of inheritance opens various issues e.g., if changes are made to a parent class or superclass, in a larger system of a class it will be difficult to test subclasses individually and isolate the error to one class.
Test cases designed for base class are not applicable to derived class.
4. Encapsulation of attributes and methods in class may create obstacles while
testing. As methods are invoked through the object of corresponding class,
testing cannot be accomplished without object.
5. In addition, the state of object at the time of invocation of method affects its
behavior. Hence, testing depends not only on the object but on the state of
object also, which is very difficult to acquire.