4

My team and I publish a client app as part of our solution. It includes a CLI but there are other components as well. Currently most of us develop locally on MacOS, and as part of our CI/CD we have a suite of system tests that run end-to-end workloads, including the client application and our cloud service.

Until now we've only had to support Unix users, so we've set up our testing infrastructure to run on VMs running various flavors of Unix. Now the time has come to formally support installing and using the client app on Windows Home / Windows Pro. However, all the cloud providers I've looked into only offer VMs running Windows Server. That's nice, but I'd really like to have an automated way to run the test suite on the exact OS that our users will be running. I know there are licensing issues here, but this seems like it should be a solved problem.

I'm pretty new to developing for Windows, so apologies if I'm missing something obvious. How do people approach this?

8
  • and it has to be something bought from a cloud provider? It can't be your own VM or PC?
    – user253751
    Feb 22, 2023 at 1:25
  • Well, it can live anywhere, but most automated CI/CD tools are going to expect this workload to be running in some kind of container. I don't think GitHub actions or AWS Codebuild can trigger a job on my PC Feb 22, 2023 at 2:24
  • 1
    "Azure Virtual Desktop" offers Windows 10 sessions in the cloud, if you don't want to use your own hardware. And before thinking about automated testing on Windows, I would actually start to think about manual testing first.
    – Doc Brown
    Feb 22, 2023 at 6:28
  • 2
    How to run the tests and where to deploy the copy of Windows for CI/CD are separate questions with no real relationship to each other (Any CI/CD tool should have some means of triggering a job anywhere provided the networking/connectivity exists). Before worrying about running them in a CI/CD pipeline or in the cloud you need to understand how to run them on a local device, otherwise you'll find it very difficult to develop and debug these tests. Feb 22, 2023 at 8:42
  • 1
    Winndows versions are probably all the same as far as your app is concerned. You might consider just testing on Windows Server or whatever you can get your hands on, and if some part of your app doesn't work on Home, treat that like any other bug report. Not saying you have to, just saying it's possible.
    – user253751
    Feb 24, 2023 at 21:33

1 Answer 1

2

For an even more tedious problem: check the license restrictions on Windows Home.

While I'm fairly sure you can run it inside a VM, it'll need to be licensed, which means you either need to use one of your MSDN free licenses (provided for exactly this purpose, testing) or buy one.

It also can't be joined to a domain, and doesn't support any of the useful provisioning helpful features.

You may find that "PC under a desk running Windows with a test control daemon on it" is the most practical way of doing this, rather than in a VM. Certainly if you only want one or two of them.

2
  • Assuming you just buy a copy and don't use the license that comes with a PC, is there any reason not to use a VM?
    – user253751
    Feb 24, 2023 at 21:31
  • 1
    @user253751 there might be license restrictions on using Windows Home on a vm, you'd have to check.
    – jwenting
    Feb 27, 2023 at 8:25

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.