diff --git a/guide/english/certifications/information-security-and-quality-assurance/index.md b/guide/english/certifications/information-security-and-quality-assurance/index.md index 9d90a041ff..11d5c3ea54 100644 --- a/guide/english/certifications/information-security-and-quality-assurance/index.md +++ b/guide/english/certifications/information-security-and-quality-assurance/index.md @@ -3,11 +3,29 @@ title: Information Security and Quality Assurance --- ## Information Security and Quality Assurance -This is a stub. Help our community expand it. +FreeCodeCamp's Information Security And Quality Assurance certification covers two distinct fields of development - Information Security and Quality Assurance. -This quick style guide will help ensure your pull request gets accepted. +## Information Security - +Information security (sometimes referred to as InfoSec) is a discipline which seeks to prevent and mitigate unauthorized access, disclosure, exploitation, and disruption of information. InfoSec principles apply to any kind of stored information, physical or digital. -#### More Information: - +Three principles make up the core of InfoSec - confidentiality, integrity, and availability. + +- Confidentiality: information is not to be made available or disclosed to unauthorized parties or processes. +- Integrity: data should remain accurate and complete over its entire lifespan - it shouldn't be modified or altered in transmission. +- Availability: information systems should be accessible when needed. + +FreeCodeCamp's Information Security component of the curriculum demonstrates the use of the HelmetJS library which promotes security through the use of HTTP headers. It also demonstrates the use of hashing algorithms to help secure data. The Advanced Node and Express Challenges demonstrate use of the Passport library. + +## Quality Assurance + +Quality assurance seeks to ensure that a complex program remains functioning as expected throughout revisions. Examples of quality assurance processes include setting project requirements, code reviews, and software testing. + +Behavior-driven development (BDD) is a software development practice that emerged from test-driven development (TDD). These are methodologies for driving development and ensuring that software is constructed in line with its design requirements. +BDD sets forth clear acceptance criteria to test your software, and makes it easy to create automated tests with libraries such as Chai. + +FreeCodeCamp's Quality Assurance component of the curriculum focuses on testing using Chai, an assertion library for node. + +### Resources +- [Chai](https://www.chaijs.com/) +- [HelmetJS](https://helmetjs.github.io/)