For those not in the technology trenches on a day-to-day basis, an Integrated Development Environment, an IDE, is a software application that provides tools to computer programmers for software development. Essentially, it is a program to write programs – but to do it faster and cleaner!
IDEs help programmers write code more quickly and efficiently. In fast-paced, iterative development models such as DevOps, IDEs are essential to delivering clean code on time and on budget. More importantly IDEs add value to the business by allowing developers the ability to test differently than ever before.
One of the most popular IDEs is Microsoft Visual Studio.
So, what does Visual Studio do for testing?
Outside of pure development, Visual Studio has three distinctly different testing projects in which developers can take advantage of:
- Coded UI: The Coded UI Testing option lets you automate the manual regression testing. You can do a manual test for the first time and record the testing in IE and use that to automate the testing over and over again. The testing will fail if it cannot perform all the steps from start to end exactly as recorded.
- Unit Testing: This allows developers to write unit tests that run against the code/stored procedures. These can run as part of the check in process to makes sure a developer didn’t cause any unintended issues. They can also be run on demand.
- Load and Performance Testing: This allows you to test your application under load. You can record a sequence and then setup the performance guidelines like number of users, browser usage and load offset. This can be used to maintain a high load system. You can set dynamic values like response time of a page during the performance testing. Then during the load testing, we can see if that value exceeds for a specific number of users using the system simultaneously.
Each of these tests can be integrated into parts of the development lifecycle. All can be integrated as part of the development phase to make sure the development that is currently happening doesn’t break anything. If it does, the test might have to be modified in order to fit a new flow. Unit testing can also be built into the check in process so code with issues doesn’t get checked in.
Are there disadvantages to using an IDE?
We use Visual Studio and Visual Studio Online (aka Team Foundation Server Online) at Fuller Solutions for all of our large business system development projects but we recognize that Visual Studio may not be for everyone or every project.
A few things to consider:
- IDEs take time to learn and implement within an organization.
- Robust and sophisticated IDEs are really for experienced programmers. A new programmer may be easily overwhelmed by an IDE.
- Not even the best IDE will fix problems such as bad code, poor software design or issues related to effective IT teamwork.
I’d love to hear about your experience using an IDE. Please share in the comments.