Selenium (for those unacquainted with this tool) is a software-testing tool that is perfect for running tests on web apps. It allows us to perform tests without the knowledge of the scripting language. The results it comes up with are written in all the main programming languages, which make it quite easy to analyze the results and work with them.
Why we use Selenium testing?
We use this tool because it gives us flexibility in testing our software. Our programmers are well versed in Selenium language which makes it easy to read results as this instrument can provide results in both the Selenium language and other programming languages.
It has quite a lot of interesting as well as useful features that lead to results that are detailed and complex to a degree. We welcome complex testing results as they tell us more about issues that plague our software. Selenium is perfect for that, and it helped us solve quite some problems we had with Basie.
We will keep on using this tool because it has a remote control and WebDriver options which are excellent in tests we perform on the Basie.
Our latest Selenium tests
We have been working on the Selenium tests for some time now. Several tests are on Reviewboard or already committed. During the review process, we were asked to justify why we decided to choose random data for the Selenium tests instead of predefined data.
Of course, the Basie instance on which we run the tests needs to have data. But where do we obtain it? The two main options are:
– Predefined data created by the tester
– Randomly generated data that fills the database
Let me begin by explaining the differences between the tests with each approach.
– Preset data
We create a set of data that will be used for the tests. This data will be the same for anyone who runs the test. Otherwise, the tests would fail. This is often the approach used by Unit Testing. We know what input the function is given and we know what output to expect.
– Random data
We start by filling the database with randomly generated data. Users, tickets, projects, mail, everything is random and different for everyone who runs the tests. Since we don’t know what the data is on the website, we can use the Selenium to figure out what output we should be expecting.