-1

SUMMARY

The software I am working is an engineering analysis tool for renewable energy systems. It tests power outputs and things of this nature.

My current job task has been to test different configurations of said systems (i.e. use a evaporative cooling condenser instead of the default radiative cooling condenser via a drop down menu on the user interface) to ensure that the release version of this software functions across all spectrums as it should.

So far the process has been very simple to test: changing one factor of the base model and testing if the code functions properly as it should via the outputs generated.

How I need to pivot

But now we want to start testing combinations of tests. This change of workflow will be very tedious and time consuming for we are considering a factorial design approach in order to map out my plan of attack for what configurations to test, to ensure that all the code functions properly when changing multiple things. This could create many different types of configurations I will need to manually test.

All in all, does anyone have any suggestions for an alternative approach? I've been reading up on alternative software testing methods, but am not entirely sure if things like: regression testing, smoke testing, or sanity checks are better for this scenario or not.

Thanks!

EDIT

The software I am testing is being used on Visual Studios where I am utilizing the Google Test framework to manually test my system configurations.

Currently, each test that I create for a certain concentrated solar power system configuration demands that I manually find the difference in code (via WinMerge) between the default configuration (no changes made) to the alternative configuration. I use the code differences in Google Test Framework to simulate what that alternative config. should output by testing it against the accepted output values.

It's only going to get more complicated, with an aspect of manual user interface needed ... or so it seems to me.

How can I automate such a testing suite, when I'm needed to do so much back end work?

finnahuss
  • 317
  • 3
  • 9
  • You have tagged your question "unit-testing", but from your description it seems you are testing on system level - could you please clarify? – Dirk Herrmann Jul 17 '19 at 22:37

1 Answers1

1

As per what I understand, to avoid the manual effort of testing too many combinations, an automation testing tool is needed in this case. If the software that you are testing is browser based, then Selenium is a good candidate. But if the tool is run as an application on Windows or Mac, then some other automation testing tool that supports Win/Mac apps would be needed. The idea is to create test suites with the different combinations and set the expected results for one time. Once the suite is ready, it can be run after any change to the software to verify that all the combinations work as expected without doing any manual work. However there would be an effort involved to create the test suite in the first place and then maintain it if the new scenarios occur or the expected results need to be modified.

It would be a pain to test all the many combinations manually each time, automation testing can surely ease that.

punitoza
  • 544
  • 3
  • 8
  • with what I just wrote above (Edit), do you have any suggestions on how to automate it when there is so much needed manual work from me to even set up a single test in the first place? My colleague is thinking about fractional factorial desing (AKA testing some but not all configs.) but it seems like it will be just as tedious. – finnahuss Jul 12 '19 at 20:49