Application testing and DBMS testing are the most important parts of the whole software testing life cycle.
About Application Testing
– Application testing is what that deals with the testing of the entire software system or application.
– The application testing is driven by the scenarios that are obtained from the analysis team.
– Application testing features are limited.
– The execution of the application needs to be successful before it is ready for general customer availability.
– The scenarios are known to form a part of the requirement documentation and for measuring success.
– Application testing can be considered to be the bulk of the testing done earlier by the industry.
– The tests that are used for application testing are commonly driven by the scripts rather than being programmed like unit testing and internal testing.
– The tests used for application testing are executed with parameters and the results are collected.
– Earlier this whole process was carried out manually but now everything is automated using the scripts.
– Today, almost 90 percent of the applications come with a graphical user interface testing which proves to be a bit of problem when it comes to assuring the quality.
– Most of the systems using the GUIs have event loops which consist of the signals for keyboard, mouse, windows and so on related events.
– With each of these events some coordinates are associated on the screen.
– These coordinates are related back to the corresponding GUI object after which the event is serviced.
– The logical association is established by assigning unique names to all the GUI objects as well as by providing additional information in the events.
– The events are generated as a copy of the human actions such as hovering the cursor, clicking mouse buttons, typing characters and so on.
– Later on, this copy of file can be used for the regeneration of the events and placing them on the event loop.
About Database Testing
– Data base testing on the other hand is a layered process since data base exists as a combination of 4 layers namely:
a) UI layer
b) Business layer
c) Data access layer and
d) Data base itself
– Out of the all four the third one i.e., the data access layer is most important.
– Usually, the data base testing is carried out to maintain the consistency of the data base management system.
– Data base testing has got 3 main aspects namely:
a) Actual data testing
b) Data base integrity
c) Functionality testing
– Testing of the data base management system involves the following:
a) I/O validation
b) Error handling
c) Validation of the table structure
d) Testing interaction between scripts and SQL
e) Testing stored data
f) Testing modified data
g) Testing structure of stored functions and procedures
h) Testing stimulations
i) Testing views
j) Testing data constraints
k) Improving data quality
– Regression testing also forms a part of the data base management system and removes the following errors:
a) Incorrect manipulation because of the views.
b) Incorrect use of the integrity constraints.
c) Improper use of the check, unique and null constraints causing problems in data updates, deletions and insertions.
d) Incorrect joins made using non – key attributes.
On a more General Note:
– The present approaches that we have for application testing are quite efficient and sufficient but this is not the case with the approaches available for testing a data base management system.
– Whenever users access a data base they tend to modify it one or the other way.
– Thus, it becomes important to verify whether the modified data base is consistent or not.
– This verification is done by performing regression testing on the data base management system.
– This is a new idea in the field of DBMS testing and has been taken forward to the field of application testing by the agile software developers.