Database Testing - Watch your “Back” piece on a “Bug Hunt”!

Software Testing amongst that of a War! In a war, commonly at that topographic point are ii (can hold upward more) opponents, e'er inwards search of a adventure to expose/harm/defeat the other. Similarly, testing is a physical care for when the testers take away maintain to lookout adult man out for bugs/defects too hunt them downwards earlier it is as good late! Bugs/Defects possess the powerfulness to seal the destiny of a Project/Product nether development, if non caught inwards time. If the testers are unable to catch the bugs/defects inwards time, the undetected bugs/defects mightiness impairment the Product/Project inwards a diversity of ways. It tin arrive at from unhappy clients/users, fiscal losses, police clit suites, loss of human lives, compromising application security, too then on. Hence, finally it is a game of expose-or-be-exposed! Expose the bugs/defects or allow them to hold upward shipped amongst the production too impairment you lot afterwards on, inwards a large unexpected way!

Ask whatever armed forces someone too he would enjoin you lot that 1 of the golden rules of wars is to “watch you lot back” piece inwards a battlefield. You expire inattentive too loose sight of the things going on your backside too you lot are gone! It takes only 1 bullet to hitting you lot at the correct house too it is all over!

It tin also plow over to you lot as a tester if you lot don’t lookout adult man your dorsum piece testing! As I said testing is also similar a war, where the testers are on a mission to hunt downwards the bugs/defects as speedily too as cleanly as possible. While on a põrnikas hunt, also expire along your eyes too ears opened upward to your back! By “back” I genuinely hateful the backend of the application. Things mightiness human face build clean too costless from whatever defects when looked from the frontend [the GUI (Graphical User Interface) or whatever UI you lot mightiness hold upward having inwards your AUT (Application Under Test)]. But a quick human face at the backend [the database on which the application mightiness hold upward running] mightiness hold upward having a dissimilar storey altogether to tell!

Backend/Database Testing is as of import as that of Frontend Testing. Once I was testing a spider web portal, which dealt inwards selling of music albums too other music related items. I was assigned to bear witness the spider web portal when it was inwards its finally stages of shipment. The unloose deadline was near. And my Test Manager wanted me to verify the already tested (there was a kind squad of testers testing it since early on evolution phases) portal only as a finally testing touch. I was asked to bear witness the whole spider web site inside three working days. Let me enjoin you; sometimes “where-to-start” tin expire the biggest query nether such testing circumstances. Anyway, I checked 1 time to a greater extent than amongst my Test Manager too made the testing mission clear earlier starting testing. And the testing mission was to bear witness too discovery out as many showstopper bugs as possible inside the stipulated fourth dimension (3 working days)! And I was on.

I commonly prefer to start amongst the Login Pages (assuming that at that topographic point is such Login option) piece testing spider web applications. There are at to the lowest degree a duet of reasons behind it. Login pages serve as the entrance to nearly of the spider web sites/portals. I believe, it is worth testing the Login Page start as at that topographic point is e'er a adventure to larn a feeling of what lies within. You must take away maintain heard the saying – “Morning shows the Day”! In instance of spider web application testing, I believe the same saying applies too; albeit inwards a dissimilar flat – “Login Page has expert adventure to present the land of residuum of the Application”. Anyway, that is my belief. And fortunately I mightiness hold upward incorrect too!

Coming dorsum to my narration, I started off amongst the Home Page, which was leading to the Login Page. Let me enjoin you lot that it was a medium sized spider web portal developed inwards J2EE, JSP, JavaScript, too AJAX, amongst SQL Server as the backend! H5N1 quick human face at the login physical care for seemed to hold upward build clean enough. The dissimilar types of access validations looked to hold upward inwards correct place. I was able to exercise novel Login Ids too the validation for restricting the creation of duplicate Ids was also working nicely. The Password validations appeared to hold upward working without whatever occupation (at to the lowest degree it seemed then at that time) too! The Password fields were showing the Password as a string of asterisks (as expected). And the Copy-Paste was disabled inwards the Password field.

While testing, I start feeling uneasy when everything seems to piece of work perfectly without a glitch. You may telephone proper name upward it a final result of the
obsession of a tester for bugs/defects. But I only can’t aid it. When I bear witness something hoping to discovery around defects too all of a abrupt I discovery that everything is working perfectly, I start to dubiety my testing! I start thinking – “Am I missing something here? How come upward is it possible that everything inwards this characteristic industrial plant then perfectly without a hiccup?” In this instance also my immediate feeling was the same after I didn’t reckon whatever apparent defects inwards the login process. And all of a abrupt I had 1 to a greater extent than bear witness idea! “How if I depository fiscal establishment stand upward for the database where the Login credentials too Passwords are supposed to hold upward stored!”

So I started the SQL Query Analyzer inwards my system. If you lot take away maintain ever worked amongst Microsoft SQL Server at all, you lot mightiness take away maintain come across SQL Query Analyzer. This tool is essential for running elevate hoc queries too executing SQL statements. Query Analyzer offers a quick too nifty method for performing queries against whatever of your SQL Server databases. It's a swell means to speedily line information out of a database inwards reply to a user request, bear witness queries earlier implementing them inwards other applications; create/modify stored procedures too execute administrative tasks. All I needed inwards this instance was to execute a uncomplicated Join to fetch the required Login credentials along amongst the Passwords from the database. And to my talk surprise, I saw that the Passwords for all the Login Ids were correct inwards front end of my eyes – unencrypted too easily readable past times whatever human being! This was something, clearly against the occupation concern rules of the spider web portal. The Passwords were supposed to hold upward encrypted earlier they were to hold upward stored inwards the database. And hither was a dissimilar story. Checking amongst the developer Pb revealed that at that topographic point was genuinely an algorithm inwards house to encrypt the passwords earlier storing them inwards the database. But somehow, after the encryption process, the master information was existence stored inwards the database instead of the encrypted data! However 1 time discovered, this defect was considered as a major 1 too was fixed soon. Had I non tested this inwards the database, at that topographic point were chances that this defect would take away maintain been shipped along amongst the spider web portal too could take away maintain easily resulted inwards a major
vulnerability/security hole!

Why Backend/Database Testing becomes then essential?
A backend is the engine of whatever client/server system. If the backend malfunctions, it may elbow grease organisation deadlock, information corruption, information loss too bad performance. Many frontends log on to a unmarried SQL server. H5N1 põrnikas inwards a backend may set serious deportment on on the whole system. Too many bugs inwards a backend mightiness damage tremendous resources to discovery too prepare bugs too delay the organisation development.

It is rattling probable that many tests inwards a frontend alone hitting a modest division of a backend. Many bugs inwards a backend cannot hold upward easily discovered without at nowadays testing. Backend testing has several advantages. The backend remains no longer a "black box" to testers. We take away maintain total command of bear witness coverage too depth. Many bugs tin hold upward effectively constitute too fixed inwards the early on evolution stage.

Sometimes it is non easier to sympathize too verify a backend as compared to a frontend because a frontend commonly has friendly too intuitive user interfaces. H5N1 backend has its ain objects, such as, tables, stored procedures too triggers. Data integrity too protection is critical. Performance too multi-user back upward are large issues. Slowness inwards functioning tin final result inwards performance bottlenecks too tin hold upward vital to the project’s future. To hold upward able to exercise backend testing, a tester must take away maintain rigid background inwards SQL server too SQL language.

Backend bear witness methodology has many things inwards mutual amongst frontend testing too API testing. Many bear witness methods tin hold upward used for backend testing. Structural testing too functional testing are to a greater extent than effective approaches inwards backend testing. They are overlapped inwards around bear witness approaches. However, the ii methods may discovery dissimilar bugs. It is strongly recommended that
testers should exercise both types of testing. There are many other bear witness methods that tin hold upward applied to backend testing. Some are:

Structural Testing:
A backend tin hold upward broken downwards into a finite number of testable pieces based on a backend’s structure. Tests volition verify each too every object inwards a type of structure.

Functional Testing:
A backend tin hold upward broken downwards into a finite number of testable pieces based on application’s functionality. The bear witness focus is on functionality of input too output but non on the implementation too structure. Different projects may take away maintain dissimilar ways to interruption down.

Boundary Testing:
Many columns (fields) take away maintain
boundary conditions. For example, inwards a column for percentages, the value cannot hold upward less than null too cannot hold upward greater than 100%. We should discovery out these types of boundary atmospheric condition too bear witness them out.

Stress Testing:
It involves
subjecting a database to heavy loads. For instance, many users heavily access the same tabular array that has a large number of records. To imitate this situation, nosotros demand to start as many machines as possible too run the tests over too over.

There tin hold upward many to a greater extent than dimensions to Backend/Database Testing. Explore it to a greater extent than to discovery out to a greater extent than ways to bear witness the backend. If you lot know of whatever such ways to brand Backend/Database testing to a greater extent than interesting, exercise percentage amongst me via your Comments.

Happy Testing…

More interesting articles here :Tutorial Software
Sumber : http://www.softwaretestingtricks.com/
Post a Comment (0)
Previous Post Next Post