Mark As Completed Discussion

One Pager Cheat Sheet

  • Software Testing is an essential knowledge for any software position, often overlooked in interviews, but fair game as trivia questions.
  • White Box and Black Box testing differ in terms of visibility of the internal design with the former being more rigorous and time consuming, while the latter is higher level and time efficient. Grey Box testing is a combination of the two.
  • Functional testing, integration testing, regression testing, smoke testing, and system testing are all necessary steps to ensure that software runs as expected without any bugs.
  • Unit testing is a process of validating the expected behvaiour and logic of a unit of code using both white box and black box methods, which involve inspecting the internal structure and input/output respectively.
  • Non-Functional Testing is used to ensure the software will be received well by users/consumers, is intuitive and easy to use, and is secure, fast, and stable.
  • Integration Testing is a type of testing which tests the interactions between different systems or applications to ensure correct and accurate communication.
  • Test Driven Development (TDD) is an agile, iterative process of software development with a focus on ensuring software that works, where tests are planned and executed on the fly, and frequent feedback is provided for improving the product.
  • Testing non-functional attributes such as performance, security, usability, and maintainability aims to assess the behavior of the system, rather than its functionality, with examples such as testing page load speed.
  • For software validation, various testing levels, such as Unit, Integration, System and Acceptance Testing, involve designing test cases for maximum coverage and repeatability to ensure the software meets the users' needs.
  • Smoke Testing is a non-exhaustive test used as a "quick check" to provide a higher-level overview of an application's condition and identify any major issues.