HW7: Reflections

Developing the requirements needed seems to be a critical aspect of engineering. When identifying the requirements, it also a good time to think about test case that can cause the software to fail. Think about the relationship between functional and non-functional requirements and where issues can arise. Continual testing is needed as the software is developed and maintained. In the Planning for Failure in Cloud Applications article, the author mentions a tester that simply removed the network cable to the test database server. This brought out a new case to which had not been gracefully handled by an exception in the code.

Also security in new technology should be properly tested, especially if it is going to be mandated to be on all devices to which it deals with. An unresolved security flaw can cause issues for all the user’s with that device and allow for unwarranted access.

Test Driven Development is a good way of improving an application from the beginning. Each code will incrementally resolve test cases. As the software ultimately builds in complexity more and more test case will need to be added. Documentation should also be updated and adjusted as changes are made.