Software Testing First Steps
So are you ready to start testing web applications?
What are the most important things to consider?
From my experience, before you start testing anything, you should be well prepared.
1. Domain knowledge is essential.
For example if you have not tested for directory traversal vulnerability (security testing), make a research and prepare a checklist with your test cases. You will not be able to find a specific bug if you are not aware what to look for. If you don’t know what is capybara, how you will know where to look for it?
2. Access the current state of the application (system under test – SUT).
I often make screenshots and test logs, because I find them very useful. If you miss this step and you find bugs, you will not be sure where they came from. Are they legacy bugs or are introduced recently by the developer of your current story? What would you do if your manager asks you: “Have you tested X and Y scenario?” If you have test log or checklist, you will be able to answer without hesitation.
3. Test data (data you test with) is extremely important.
I have seen my colleagues testing with strings that mean nothing at all, such as test test or asd asd. This step is even more important when you do integration testing. With simple words, integration testing is how your application interacts with other applications. If you test forms, usually you can add unique identifier for your submissions, such as the date, your name initials or the functionality you are testing, in one or all fields of the form. This identifier will help you to find your submissions and to validate your results.
4. Tools and extensions
Think for tools that can make your current quality assurance task easier and less error prone. Below you can find examples of two tools for test data generation. Example for online site for test data generation is http://www.generatedata.com/. I like that there are predefined test data fields, including names, cities, credit card numbers, and you can download the data easily as Excel file. You can find more easy to use online resources in this article.
I find often useful Chrome plugins for different testing tasks. For easier testing of forms, for test data generation I use bug magnet Chrome extension (available on right mouse click).
For more than 16 other great browser extensions, visit this article.
Summary
In this article I reviewed four most important things that you should think of, before you start testing. They are to acquire domain knowledge, to assess the application state before the tests, to prepare test data and tools for execution of the testing.
If you are still curious what is capybara, it is a cute animal, you can google it. Also there is a test framework named Capybara. It is OK to don’t know something, as long as you are able and willing to find information for filling the gaps. This is very important for a quality assurance expert.