PROWESS – Property-based
testing on Web Services
PROWESS – Property based
testing of Web Services
Functional Programming Language
Property Based testing
Property based testing of web
Project on the success of Pro test.
Develop tools and techniques for propertybased testing of web services.
To ensure the application is of zero
Functional Programming – Basics of
Evaluation of expression rather than execution of
E.g., max 4 5 creates function as (max 4) 5
max 4 is a function and 5 is a parameter
No side effects
It can’t change the state of a variable
E.g., If a =5 it will be the same throughout the program
Pure computation yields same value each time they called
E.g., Call a function which squares a number.
Haskell is statically typed(type of every expression
known at compile time) and it has type inference.
E.g., a=4+4 – Compiler knows what is string and number
Functional Programming – Basics of
Everything in Haskell has a type.
E.g., :t `H` :: Char, 5 :: Integer
Haskell is lazy – Unless specifically told otherwise
Haskell won’t execute functions and calculate things until
it is forced to show you a result.
Module – Collection of relation, type and type classes. All
under prelude module which is imported by default.
Function – add :: Integer->Integer->Integer
Where A and B arguments returning result of type C.
I/O – (read, print getLine, putStr)
Haskell compiler – GHC, Hugs, York Haskell
Other languages - Erlang, F#, SML
To find the presence of bugs in the software
In the software life cycle Testing plays a vital role.
Three methods of Testing namely Black Box
testing, Grey Box Testing and White Box testing.
Each has it's own advantages and disadvantages.
Manual Testing(Testing is carried out without the
help of external software) and Automated
Testing(Testing is carried out with the help of
external software) are the two types of Testing.
Property Based Testing
Overcome other testing methodologies.
Specify properties formally and test the code against
provides a specification of the program, in the form of
properties which functions should satisfy,
Tester needs only specify the generic structure of valid
inputs for the program under test, plus certain
properties (regarding the program's behaviour and the
input and output relation) which are expected to hold for
every valid input.
Improves quality - Finds more bugs, achieves better
coverage since testing wth the real code
Reduces cost - Less test code, shrinking speeds
Quicktest , PropEr for automation; supports many
Communicating between two electronic devices irrespective of the
platform, language through the web to gain a service.
Web services – SOAP and REST
Mainly based on HTTP(communication protocol) and XML.
The Client machine(Service Consumer) and the Server machine (Service provider)
communicate using SOAP protocol over HTTP.
SOAP is a communication protocol based on xml for sending messages of W3C
E.g., Getting information on flight schedule
Bottom up approach.(web service methods and WSDL file created automatically)
and Top down is Vice versa
WSDL is a XML file (describes about the web service). UDDI (directory service and
also can store information about web services)
REST – specifies guidelines for Client – Server interaction. Resource accessed
using URI’s by the clients. Like paste the address on the browser in order to access
particular resource on the server which may be of any formats.
E.g., HTML, Jpeg, pdf etc.
Client can directly access the resource by URI(http://test.com/resources/index.html)
and the response is human readable.
Rest uses HTTP communication stateless protocol and it’s uses the methods
GET(retrieve), PUT,(update) POST(create) and DELETE(delete)
Testing of web services
A very well known testing of web services is soapUI
Free and open.
Need to test the WSDL file.
Load the WSDL file and open functions will appear.
From the function we can start doing our testing.
What is Cloud Computing? Making use of the resources
available in the internet. This will be achieved by logging into
the remote Servers. The resources may be Web Servers,
Servers, Software files etc.
This may be either pay as you go or free service that
depends on the Vendor.
Cloud computing is broadly divided into three categories.
SaaS (Software as a Service), PaaS (Platform as a Service),
IaaS (Infrastructure as a Service).
Starting from the day-to-day activities like bank account
details, passwords, highly confidential things or conversations
have been stored in the cloud.
Eg., Google, Amazon etc
Conclusion - Prowess
Property based testing of web services
To minimize cost.
To achieve zero tolerance.
I can assure that will give my best and work hard
for the success for the project.