Unit 5
Unit 5
Additional testing techniques are, therefore, required to test these dependencies. Another issue of
interest is that it is not possible to test the class dynamically, only its instances i.e, objects can be
tested. Similarly, 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.
In object-oriented programs, control flow is characterized by message passing among objects, and
the control flow switches from one object to another by inter-object communication. Consequently,
there is no control flow within a class like functions. This lack of sequential control flow within a
class requires different approaches for testing. Furthermore, in a function, arguments passed to
the function with global data determine the path of execution within the procedure. But, in an
object, the state associated with the object also influences the path of execution, and methods of a
class can communicate among themselves through this state because this state is persistent
across invocations of methods. Hence, for testing objects, the state of an object has to play an
important role.
Techniques of object-oriented testing are as follows:
1. 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 (areas of design or code that
may lead to errors.). 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.
This method of testing does not find all types of errors. However, incorrect specification and
interface errors can be missed. These types of errors can be uncovered by function testing in
the traditional testing model. In the object-oriented model, interaction errors can be uncovered
by scenario-based testing. This form of Object oriented-testing can only test against the client’s
specifications, so interface errors are still missed.
2. Class Testing Based on Method Testing:
This approach is the simplest approach to test classes. Each method of the class performs a
well defined cohesive function and can, therefore, be related to unit testing of the traditional
testing techniques. Therefore all the methods of a class can be involved at least once to test
the class.
3. Random Testing:
It is supported by developing a random test sequence that tries the minimum variety of
operations typical to the behavior of the categories
4. Partition Testing:
This methodology categorizes the inputs and outputs of a category so as to check them
severely. This minimizes the number of cases that have to be designed.
5. 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.
Integration Testing
Feature System Testing
Verify software
Verify the interfaces and interactions
behavior and
Purpose between software modules
functionality as a whole
system
Comprehensive
Test Execution Incremental approach, testing one
approach, covering all
Approach module at a time
functionalities
Web Testing?
Web Testing, or website testing is checking your web application or website for potential bugs
before its made live and is accessible to general public. Web Testing checks for functionality,
usability, security, compatibility, performance of the web application or website.
During this stage issues such as that of web application security, the functioning of the site, its
access to handicapped as well as regular users and its ability to handle traffic is checked.
Usability testing:
Usability Testing has now become a vital part of any web based project. It can be carried out by
testers like you or a small focus group similar to the target audience of the web application.
3.Interface Testing:
Three areas to be tested here are – Application, Web and Database Server
Application: Test requests are sent correctly to the Database and output at the client side
is displayed correctly. Errors if any must be caught by the application and must be only
shown to the administrator and not the end user.
Web Server: Test Web server is handling all application requests without any service
denial.
Database Server: Make sure queries sent to the database give expected results.
Test system response when connection between the three layers (Application, Web and
Database) cannot be established and appropriate message is shown to the end user.
Database Testing:
Database is one critical component of your web application and stress must be laid to test it
thoroughly. Testing activities will include-
5. Compatibility testing.
Compatibility tests ensures that your web application displays correctly across different devices.
This would include-
Browser Compatibility Test: Same website in different browsers will display differently. You need
to test if your web application is being displayed correctly across browsers, JavaScript, AJAX and
authentication is working fine. You may also check for Mobile Browser Compatibility.
The rendering of web elements like buttons, text fields etc. changes with change in Operating
System. Make sure your website works fine for various combination of Operating systems such as
Windows, Linux, Mac and Browsers such as Firefox, Internet Explorer, Safari etc.
6. Performance Testing:
This will ensure your site works under all loads. Software Testing activities will include but not
limited to –
7. Security testing:
Security Testing is vital for e-commerce website that store sensitive customer
information like credit cards. Testing Activities will include-
Intruder
Intruder is a powerful vulnerability scanner that will help you uncover the many
weaknesses lurking in your web applications and underlying infrastructure. Offering
industry-leading security checks, continuous monitoring and an easy-to-use
platform, Intruder keeps businesses of all sizes safe from hackers.
Features
Post-deployment testing is a type of testing in which the software is tested after it is deployed to
production. This testing may help us find those problems that were not detected before
its deployment in the production and despite all the planning and testing carried out before the
final deployment, obtaining user opinion is important for the improvement of a website. It
ensures that the website adapts to the needs of the user. User feedback may come in various
forms, ranging from reporting faults to suggestions for improvement of the website.