What is website testing?
In internet you can find definition of Website Testing as the process of browsing a web page with the desire of identifying bugs. However we like to characterize testing as the process of approving that a part of website or webpage meets its business and specialized requirements. Above all testing is the essential road to see that the item meets prerequisites adequately. This activity is not performed only once in a lifetime of a website. It is important to use it from the beginning of product creation, to create a process and to follow it.
What are the main parts of testing process?
It does not matter what is the methodology your company follows, website testing is fundamental process with four key parts.
Usually the quality assurance team defines testing strategy on company level and rarely on specific project. It includes the following things:
- The website and a particular setups
- Functional requirements
- Non-functional requirements
- Test types – black-box, exploratory, automation, functional, automated visual or a mix
- Bug tracking system
- Testing tools
- Defects triage
- Risks, dependencies and contingencies
- Supported devices
- Supported browsers
The test manager describes all of them before the team starting work on projects.
In this step you determine the details of the test strategy. In addition, you have to analyze the effect of development and the impact should be clear. On that base the quality engineer will estimate how long the testing will take. Also, you should plan when the test starts and ends. After that, the dates are reported to the project leader or team leader and should be stated as “estimates”. In conclusion, without a clear test strategy and a detailed test plan, even best teams will find it difficult to be productive.
After you have a plan and strategy the next logical step is to create the test suite. A test suite is a list of test cases that are necessary to validate a particular feature. For instance, you can have test suite for regression testing or for specific requirements. In other words, test design as a procedure is based and is an unification of the quality engineers’ experience and knowledge over similar projects. For example, if you work for a company in the beginning period of a new product development, your focus will be on revealing significant bugs and less on making the website completely bug free. Thus, the test suite is based on the level at which the site is at the moment. In one case it may be important to create automatic tests, and in the other priority may be visual testing.
Creation of scenarios
This is the stage where “preconditions”, “expected” output and the execution steps are prepared according to the content of the project. The test engineer writes the scenarios in test managment system. However, you have to create them before the development is ready. When creating test scenarios the information is obtained in advance from the software developer or product manager. Also, you can use design and analysis documents.
Preparation of test environment
In this step all necessary preparations are made before beginning the test. For instance, the data required for the test should be provided before the start. The data is determined and prepared based on the scope of the development. It can be a product, a user, etc.
In particular the data needed for testing a website is:
- Website url
- The specific page url
- Product information
- User credentials
- All configurations
- Expected designs
In this stage the testers execute the test cases and compare the expected and actual results. Moreover the execution can be manual or automation.
Reporting of Results
The report should use as simple a language as possible. Where possible, the testers should use elements such as screenshots or video. As well, there should be constant communication with the software developer.
This is a process of finding defects in the website under test. Often, the test engineers define the defect reporting strategy at the beginning of a project.
The most important things to mention when reporting a defect are:
- Build version
- Steps to reproduce
- Expected result
- Actual result
- Link to the original requirements
- Screenshot if possible
- Video if possible
Bug tracking is also important part of the testing strategy. However, you have to define it earlier as possible. One of the most challenging factors is managing, evaluating and prioritizing these issues. We recommend using a defect tracking system, the most popular is Jira.
Re-testing means testing again a previously failed scenarios against original requirements to check whether the problem is resolved. After a bug has been fixed, re-testing is performed to check the same scenario under the same environmental conditions (as they are described in the bug). During this stage, quality engineers look for changes at the impacted area of functionality, to verify that fixing this error did not result in regression bugs.
Testing is a fundamental and critical part of any website project. As said at the beginning, the methodology you follow doesn’t exclude any of the above process steps. In reality, it is hard to follow any methodology without compromising. But if you create your testing strategy and if you plan adequately you will reap the benefits of delivering a bug-free product every time.