Automating database testing
In database testing, I learnt sql queries and then compare the expected and actual result. Like this if I search for the GUI elements parameters, the DB entries will be displayed in the DB I can compare the expected and actual. This is the process I am following now. May I know I am doing it right?
But I couldn't get any bug. If there were more than 100,1000 pieces of data, it will take time to check and if it repeats the case takes more time. So should every tester go for automating or not?
I don't think you should be testing each and every record in the database, I would rather suggest considering the following testing types:
- Positive testing: use criteria which definitely return result. If your application doesn't have "static" scenarios it can be substituted with Fuzz Testing or Pairwise Testing
- Boundary testing: depending on your application specifics use boundary inputs to check edge conditions and how does your application handles them
- Negative testing: your application should not display anything when criteria not matching any db data are given
- Security testing: ensure that non-privileged users cannot see the data they should not be seeing. You can put testing against any forms of SQL injections here as well.
- Load Testing: you need to ensure that your application works well under the anticipated load. Additionally you can perform stress testing and soak testing to see how it behaves under prolonged load and where it starts to break.
If it makes sense to invest into automation (i.e. the time required for automation will be less than the aggregate time of all anticipated executions) it is better to go for it, moreover load testing assumes automation.