There are a lot of reasons for a lot of people to write different software/applications. These reasons may sometimes include your personal and business needs to customizing or integrating software. Some also create different types of softwares. Examples of these are:
- Web applications
- Stand alone applications
- Automated agents, etc.
In all cases, development teams are formed and pushed to deliver the software with the utmost quality. This is also done within a certain amount of time to reduce marketing time and production time. In this instance the phrase “development and test” refers to the various tools and practices applied during software production.
Regardless of the type of software being developed, proper set of guidelines for the development and test practices are the key to success. Producing applications not only requires software engineers, but also IT resources, which are subject to constraints like time, money, and expertise. This is where we come in, we at Myrtec is a specialist provider of Managed IT and Cloud Services with locations around Australia.
This paper tackles a lot of subjects including specifics on the different phases in developing a software of any type. They cover everything from the Development Phase,
Building Phase, Testing Phase, and the Resource Management.
There are a lot of processes involved during the development phase. This includes the Source Code repository, which is the source code repository is a key tool for development teams. As such, it needs to be available, and the data it contains (source files under version control) needs to be durably stored, with proper backup policies. Ensuring these two characteristics—availability and durability—requires resources, expertise, and time investment that typically aren’t a core competency of a software development team.
The development phase also includes the Project Management Tools, On-Demand
Development Environment and Integration with any Cloud services, which in this case is AWS.
After going through the Development Phase, the next step is for the Building Phase. In this part of the project, one must manage everything and keep a tight watch on the progress of the project. The building phase includes, Nightly Builds.
Nightly builds are teams working on projects with lengthy build times often adopt the “nightly build” (or neutral build14) approach, or break the project into smaller sub-projects (or even a combination of both). Doing nightly builds involves a build machine checking out the latest source code from the repository and building the project deliverables overnight.
The other types of steps of the build phase are On-Demand Builds and Storing and Distributing Build Output.
Now here comes the Testing Phase. After developing and building the software, one must always test to make sure that it will cater to the needs that specific software was built for. Since a softwares has many important sections, a lot of testing should be done to ensure the quality of the software.
These are the tests that need to be done:
- Automating Test Environments
- Provisioning Instances
- Provisioning Databases
- Provisioning Complete Environments
- Load Testing
- Network Load Testing
- Load Testing for AWS
- Cost Optimization with Spot Instances
- User Acceptance Testing
- Side-by-Side Testing
- Fault-Tolerance Testing
These are just some of the topics that are tackled by this paper, if you want more information regarding this topic, you can always contact Myrtec and we should be able to provide you all the information you need regarding the best practices for development and test on AWS.