This is a kind of frequent question β thatβs why most experienced developers donβt answer them β and generally end in a fiery war with heated opinions. So be careful.
But you seem to be a good guy, intending to go the right way, looking for some really productive ways. And a few years ago I found out a little about myself.
Well, the first thing to keep in mind is: do not watch anyone for anything. Anyone can pretend to be a great master, but you can find at least 10,000 guys much better and completely anonymous. So, for everything that you hear, do the following: listen, check and draw your own conclusions . If there is only one golden rule, it is. Everything else is crap until your own conclusions appear. You are your last judge.
However, let me start with one of the most pressing issues: the IDE. What should you use? You must use one that you can produce more and makes you more comfortable. Netbeans, Eclipse, VIM, Notepad ++, Notepad, gedit, kate, quanta plus .... You have many options, and each has its own opinion. Experience what you find interesting and continue what you choose.
This is true for any methodology, structure or tool. Use, learn and shout about it. Stick to what makes you more comfortable and productive.
The same goes for the development environment. It doesnβt matter if you are running on Windows, Mac or Linux. Getting the necessary resources is important. The necessary resources can and usually vary from one project to another.
Thus, the best environment for developing a specific project is one that reflects the real environment in which production will operate. What if you develop PHP 5.3 OOP resources and end up with PHP 5.1? This is the point. The ultimate environment is who tells you which is the best development environment, not the reverse.
For testing, you should follow the strategy. I talk about this as a 5 year experience at IBM. This is because there are many tests that you can perform, but not all can be really interesting for the current project.
First decide, according to the needs of the project, what you are going to test. Security, performance, UI mapping, UI effects, error handling, loading and balance, usability, accessibility ...
Take notes on what you are going to test (what, when, where, success criteria), and report on successes and failures.
As I said, the needs of the project are what guides you at every step. Testing is no different. If you just need to check the display in different browsers, feel free to use different machines or virtual machines.
In the general case, this is enough. But if a project requires performance or load testing, you will need special load testing programs. I will not delve into this topic because it is very extensive.
It takes some time to find the perfect process and tools, and after that you will always find a new testing tool or process so that you can save a little time. This is IT.