I use a Mac laptop with OSX which is based on Unix and have Apache, PHP, and MySQL installed. There are minor differences between the setup on my local machine and how things function on our production site, but the vast majority of testing can be done on my local machine
Check out this link
https://pureinfotech.com/install-xampp-windows-10/ for how to install and get a basic setup of XAMPP on your machine. If you're running another version of windows, search for XAMPP and your windows version and you'll get dozens of good totorials on how to set it up.
Copy all your site files to wherever XAMPP has your local site hosted and restore you database to MySQL
The final step is to use the tools in the DO_NOT_UPLOAD folder and you can change your site location to your locally hosted machine.
You may need to make some configuration changes in your site to make it work. Mostly paths to files like attachments or your sitemap.