Introduction to Software Development
Module 6 - Software Deployment and Lifecycle
The course is part of this learning path
This course introduces the development lifecycle and describes how robust development practices, including testing and change control, can considerably reduce security-related vulnerabilities in a production system. It then builds on this by looking further into different test strategies and approaches, including the role of auditing in reducing risk exposure.
The objectives of this course are to provide you with and understanding of:
- The software development lifecycle
- The role of testing and change control in reducing security-related vulnerabilities in a production system
- How the risks introduced by third-party and outsourced developments can be mitigated
- Test strategies and test approaches, including vulnerability testing, penetration testing, and code analysis
- The importance of reporting, and how reports should be structured and presented to stakeholders
- The principles of auditing and the role played by digital forensics
This course is ideal for members of information security management teams, IT managers, security and systems managers, information asset owners and employees with legal compliance responsibilities. It acts as a foundation for more advanced managerial or technical qualifications.
There are no specific pre-requisites to study this course, however, a basic knowledge of IT, an understanding of the general principles of information technology security, and awareness of the issues involved with security control activity would be advantageous.
We welcome all feedback and suggestions - please contact us at firstname.lastname@example.org if you are unsure about where to start or if would like help getting started.
Welcome to the Software Development, Testing and Audit Learning Path.
Software solutions can be developed in-house or by third-party organizations which can be located anywhere in the world. Development projects can often take many months or even years and be very complex.
Whilst most organizations will have detailed software development processes, bad practices and poor programming techniques can introduce system vulnerabilities which can create risk when the system is deployed in an operational environment.
This learning path looks at the activities that should be taken to mitigate these risks. It has two videos:
· The first introduces the development lifecycle and describes how robust development practices, including testing and change control, can considerably reduce security related vulnerabilities in a production system.
· The second video builds on this by looking further into different test strategies and approaches, including how these can be reported and audited to reduce the risk exposure.
The videos are supported by quizzes for you to check your understanding as you work through them.
About the Author
Fred is a trainer and consultant specializing in cyber security. His educational background is in physics, having a BSc and a couple of master’s degrees, one in astrophysics and the other in nuclear and particle physics. However, most of his professional life has been spent in IT, covering a broad range of activities including system management, programming (originally in C but more recently Python, Ruby et al), database design and management as well as networking. From networking it was a natural progression to IT security and cyber security more generally. As well as having many professional credentials reflecting the breadth of his experience (including CASP, CISM and CCISO), he is a Certified Ethical Hacker and a GCHQ Certified Trainer for a number of cybersecurity courses, including CISMP, CISSP and GDPR Practitioner.