I am a full-stack developer and recently I received a task to test a third party system that arrived here at the company.

I already had experience in automating tests on the web with Cypress, Selenium, and Puppeteer. But it is a desktop app, based on Java in a Linux distribution (based on Gentoo) in which I do not have access to the "desktop UI", only SSH and the application screen that already starts automatically.

I thought of an alternative that would be to dedicate a machine to run this application and connect via VNC or some other and do the tests based on this connection... Only it would be very costly to maintain and automate, as I have little experience in this area I wanted others suggestions and possibilities.

  • Is your question about how to configure the application so you can test more easily or is it about the testing itself, how to explore risks? If the former, I would suggest directing the question to Stack Overflow or some network Stack Exchange community, since the question is not about testing per se. If the latter, I would suggest explaining what risks are you trying to investigate - the tech stack and env. upon which the application lives is but a small part of these risks. Jan 20, 2021 at 8:46
  • The answer marked as correct, meets my need. About the points you questioned ... What I needed were the 2 cases. As I reported that I only had experience exclusively with TDD, I did not know tools and the way to start blackbox and functional tests. Jan 22, 2021 at 13:20

1 Answer 1


I would first contact the supplier and ask how they automate the testing of their application. Probably they use a tool and setup to drive their application end-to-end. Maybe they can teach you. Test-ability would be key for me when acquiring new off-the-shelve software products, certainly if they are going to be used in complex automated workflows.

Second I would question how much of the application you should test if the supplier is also doing testing. Testing could be limited to the general happy path, or configured behaviors of your company. If it is not part of a complex workflow, maybe create a manual regression test suite. Wonder which major risks are you trying to cover?

In the past I used an image based testing tool over VNC (https://www.t-plan.com/), although it works I would prefer to start with trying to get a Java GUI testing tool to work on the actual (virtual) machine. Applications you start on an SSH shell can access the linux DISPLAY, so your java desktop test tool of choice should be able to access the already started Java application.

The maintenance of these tests might also be very time consuming, certainly as changes/patches come in from the supplier. If the UI changes the tests also need updating, depending on the update-cycle this could be a major effort every-time you get a new version. This is not a one time thing.

Also look at:

  • Greetings ! Thank you so much, t-plan was what I needed and can do with the limitations I have, and it will cover me almost completely ... Now I will define within the conditionals, a call to let you know that the test has passed. The idea of testing a third party tool / application really seems a little confusing, but we needed to document this with the areas responsible for quality. Jan 22, 2021 at 13:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.