Testing Specialized Systems and Applications

Write a short note on CAST.

CAST
  • CAST stands for Computer Aided Software Testing.
  • It is the process of software testing that refers to the computing-based processes, techniques and tools for testing software applications or programs.
  • It is the computing enabled process of software testing performed using a combination of software and hardware based tools and techniques.
  • It is designed to automate the process of software testing and provide services that cannot be accomplished by human or manual testing.
  • It evaluates the performance of software by applying or consuming the resources equivalent to thousands of simultaneously connected users.
  • The evaluation is delivered as statistical facts and figures to the human tester.
  • It is also a multimedia professional development tool or multimedia database.
  • It is generally performed through purpose built software testing solutions that are designed to provide one or more software testing processes or techniques.

Write a short note on Object Oriented Testing.

Object oriented software is different than our traditional procedure oriented software in terms of analysis, design and coding so it requires different techniques of testing than the traditional software.

Due to some following issues
  • OO applications cannot be tested in traditional ways of testing.
  • OO programs have no sequential procedural executions as the programming is done by using classes and objects.
  • OO programs have no functional decompositions.
  • OO approach doesn’t use structure charts to design integration testing.
  • Iterative O-O development has a different impact on testing and integration strategies.
OO Testing follows the parameters are as

I. Testing OOAD Models (Object Oriented Analysis and Design):
  • OO testing evaluates OOA models, i.e. use case diagrams.
  • OO testing evaluates OOD models, i.e. class and sequence diagrams.
  • OO testing also performs walkthroughs, designs prototypes, formal technical reviews to test the correctness and consistency of the designs.
II. Testing OO Program Code: There are following various approaches used to test an OO application code:

1. Unit testing
  • It includes testing of statement coverage, branch coverage, condition coverage and path coverage.
2. Class testing
  • Class testing is same as module testing.
3. Inheritance testing
  • It tests access or methods before creator methods to control complexity.
4. Functional testing
  • This testing includes State - Transaction Testing, Transaction-Flow testing and Exception testing.
5. Integration testing
  • This testing focuses on the integration among the objects of classes in the cluster.
  • It tests the integration of classes, assuming that the classes are already tested individually.
6. System testing
  • System testing is performed exclusively in terms of inputs and outputs of the system.
7. Orthogonal testing
  • Some applications allow only a range of input values specifying the minimum and maximum values. But testing all the possible permutations and combinations of values generates a large number of tests.
  • Therefore, to reduce the number of tests, the combinational method is used, it is called orthogonal array testing.

Write a short note on Web based Application Testing.

What is Web based Application Testing?
  • It is a testing technique which adopted to test the applications that are hosted on the web whereas the application interfaces and other functionalities are tested.
  • This testing focuses on the web applications.
  • It can present a variety of issues that are not concerned for traditional desktop applications.
  • By using web application testing, any organization can be sure that the web application will work perfectly and will be easily accepted by the end-users.
  • This testing technique also checks the web application browser compatibility, load testing, scalability testing, stress testing and resolution testing.
  • After completing all the web application testing, a live testing is necessary for web based applications and web sites. Then upload the site and complete testing should be done.
  • Web applications are accessed from different kinds of devices like desktops, PDAs, iphones etc. because it is important to check whether the web application is compatible with these devices.
  • In today's ever changing and competitive web-based business scenario, organizations always need to test their web based applications before the launch of their website.
  • The web based application can be accessed and used over the network.
  • The web application testing tools are available for testing the web application technologies. These tools are used for performance testing, load testing and stress testing of web applications and other web interfaces.
Web based Application Testing Techniques

Web based Testing Techniques

1. Functionality Testing
  • This testing is used for checking all the links of the web pages like form testing, cookie testing and database connection.
2. Usability Testing
  • This testing is used to verify how the application is easy to use with the content checking and tests the navigation control.
  • This testing checks the navigation and user friendliness of the web pages.
3. Interface Testing
  • This testing checks if the web server, application server interface, application server and database server interface have proper interaction or not.
  • This testing ensures that the users do not see any error messages.
  • It performs to verify the interface and the dataflow from one system to another.
4. Compatibility Testing
  • This testing is based on the context of the application.
  • It checks the browser compatibility, operating system compatibility, mobile browsing and printing options.
5. Performance Testing
  • It performs to verify the server response time and throughput under various load conditions.
This testing includes

I. Load Testing
II. Stress Testing
III. Soak Testing
IV. Spike Testing

I. Load Testing
  • Load Testing is the simplest form of testing conducted to understand the behavior of the system under a specific load.
II. Stress Testing
  • It performs to find the upper limit capacity of the system.
  • It determines how the system performs if the current load goes well above the expected maximum.
III. Soak Testing
  • This testing is also known as Endurance Testing.
  • It performs to determine the system parameters under continuous expected load.
  • It tests the parameters such as memory utilization is monitored to detect memory leaks or other performance issues.
IV. Spike Testing
  • This testing is performed by increasing the number of users.
  • It determines whether the system will be able to sustain the work load.
6. Security Testing
  • It performs to verify if the application is secured on web as data theft and unauthorized access are the most common issues.
  • It checks the security of the web applications. For security purposes, internal pages should not open if you are not logged into the website.