We are developing an application using Domain-Driven-Design(DDD).
We have to come up with Automated UI Test code.
The customer has used 3rd-party GUI Administration template (https://bootstraphunter.com/smartadmin-product.php) so that the GUI can be configured for the most part using the aforementioned 3rd-party tool.
For Automated UI Testing, I’m going to use NUnit with Selenium because I have experience using the said tools.
Sadly, the specifics about the Business-Side is left out.
In other words, customers has Not provided us with any use-cases or use case diagrams.
So far, a lot of the backend development(database stuff) deals with Generating New tables using Code-Generation Tools.
This basically suggests that the Customer is creating specific development tools for the application. As time goes on, I feel that the customer will configure the development tools to generate code and/or database tables.
Since a lot of the Business-specific requirements are vague, the customers communicates with our GUI development team to discuss how some module should be configured, but the problem is that I end up creating the Automated test code after the GUI module development is complete which is kind of pointless.
What steps should I take to make my Automated UI testing be significant in terms of usefulness in the development of the application?
3
At some point in time, someone has to make a decision how the UI has to look like. If this is done iteratively step-by-step in a dicussion between the customer and your team, fine – that is a feasible, pragmatic way. Whenever the decision is made for a particular part of your UI, you can start creating the tests.
I end up creating the Automated test code after the GUI module development is complete which is kind of pointless
Why do you think this is pointless? Automated tests are primarily regression tests, verifying your application Version 2.0 still works like Version 1.0, after you added some new features. If you need tests only once or twice to to verify a written spec, it would be pointless to automate them, since it would most probably be much more efficient to do the tests manually.