The Need for Software Testing
The Need for Software Testing

This course covers section one of CSSLP Domain Five and looks at security quality assurance testing. You'll learn about important and foundational concepts on the process and execution of testing, topics regarding quality and product integrity, and various other considerations.

Learning Objectives

Obtain a solid understanding of the following topics:

  • Security testing use cases
  • Software quality assurance standards
  • Testing methodologies and documentation
  • Problem management
  • The impact of environmental factors on security

Intended Audience

This course is intended for anyone looking to develop secure software as well as those studying for the CSSLP certification.


Any experience relating to information security would be advantageous, but not essential. All topics discussed are thoroughly explained and presented in a way allowing the information to be absorbed by everyone, regardless of experience within the security field.


So the need for software testing. Now testing, as we know it, discovers a variety of flaw conditions which include bugs, logic flow, et cetera. Now, the testing, when done correctly, leads to meaningful improvements in quality and reductions in vulnerabilities that can be compromised. Now, building perfectly is very unlikely, as we know, and so testing becomes the required verification that what we have done does what it's supposed to and doesn't do things that it shouldn't.

Now, one of the things that's been established many years in the past is that a dollar spent in design can equate to as much as 150 times that when we think of the break fix that will occur by the time the system is operationally ready or already in operation. Now, one way of determining these would be a Fagan inspection, which looks for software that, if it fails, causes catastrophic failures or other effects because these can detect remediation issues when this capture is very cost effective.

Going from concept to disposal over the software lifecycle, we begin where the cost may be negligible, if in fact the flaws could even be discovered. But as we move from concept through to operations we find that the cost grows rather staggeringly high. And when it gets into operation, it becomes almost prohibitively expensive in terms of the break fix to find the flaws and fix them. But we know from history that we'll never get away from that until we do build software perfectly.

Then of course, when we get to the final phase, which is from operation down through final disposal, there is no cost because there isn't going to be any fixing once that decision has been made. It is of course true that sound architecture design is one of the most necessary factors that facilitates the effective and efficient creation of solutions. But we have to recognize that the earlier in a cycle we can detect these flaws, bugs, logic flows, and so forth, the less expensive it's going to be because there is less to take apart, less impact on operations. And so we should strive to design as well as we can of course, but we need to continually apply the soundness of testing programs to find what is missed in design.

About the Author
Learning Paths

Mr. Leo has been in Information System for 38 years, and an Information Security professional for over 36 years.  He has worked internationally as a Systems Analyst/Engineer, and as a Security and Privacy Consultant.  His past employers include IBM, St. Luke’s Episcopal Hospital, Computer Sciences Corporation, and Rockwell International.  A NASA contractor for 22 years, from 1998 to 2002 he was Director of Security Engineering and Chief Security Architect for Mission Control at the Johnson Space Center.  From 2002 to 2006 Mr. Leo was the Director of Information Systems, and Chief Information Security Officer for the Managed Care Division of the University of Texas Medical Branch in Galveston, Texas.


Upon attaining his CISSP license in 1997, Mr. Leo joined ISC2 (a professional role) as Chairman of the Curriculum Development Committee, and served in this role until 2004.   During this time, he formulated and directed the effort that produced what became and remains the standard curriculum used to train CISSP candidates worldwide.  He has maintained his professional standards as a professional educator and has since trained and certified nearly 8500 CISSP candidates since 1998, and nearly 2500 in HIPAA compliance certification since 2004.  Mr. leo is an ISC2 Certified Instructor.