As a new QA in a project,how one can add quick value from test automation where there are not even formal test cases? What are the few quick wins in general?
Test Automation is not intended to gain a quick value. It requires significant investments to be done before you start receiving the value from your tests. Especially if you do not even have formal tests since automated tests are always more formal than manual ones. So in your case you will have to overcome the level of formalism that is essential to manual tests that will not be quick.
However if you are trying to "sell" test automation to the stakeholders you can start from automating smoke tests that test engineer would run against the app in semi-automated way against the application under test. The best way to do that depends on what you're trying to automate in particular. Here are few points of what could help:
- If this is a GUI app, set up a selenium script that would test, say, a log in form. This will show that the application has been started successfully (including back-end, database, etc)
- If this is an API, use GUI tools like SOAP UI so that it will be easier to use by your engineers. Set up one query for each supported method (POST, GET, etc.) or for each supported WS function.
- Where it is possible introduce parameterization. That will let you to multiply the number of tests. Use test optimization techniques when prepare test data (equivalence partitioning, pairwise, etc.).
- Where it is possible, introduce test reports. This will give the stakeholders the view on more-or-less end-to-end process of test automation
- Where it is possible create an example of BDD test.
So the points above would help you to sell test automation to your management or to the business or project owners. If they will like it and fund your activities that will be a real quick win for you. -
As everything, it depends on application you will be testing.
Think about problems which application currently have, for example:
- If application is broken after deployment – automate smoke checks to discover broken build as early as possible. It is not that you must run check, it can be scheduler to execute them after new build for example.
- Do you need to be sure that some path in application works? Create test for it
- Is there some repeated activity for which automated check make sense? Then automate it and save some time for more testing
- Is there any time-consuming process which you must do?
- Are there problems with performance(delay in loading of pages for web, slow api responses, application consumes a lot of resources)? Some load/performance tests would help to discover limitations
But always think if automatization of test/process make sense, if it adds some value which matter.
Within development of automated check, you will be testing application. So that is by itself some significant value.