Testing & Quality
261 people are learning this skill right now!
Software engineering quality reflects how well it helps users achieve their goals, as well as how maintainable, robust, available, and usable it is. There are a variety of software testing philosophies, including test-driven development (TDD) and production testing. There are also a variety of test types, including integration, functional, end-to-end, acceptance, performance, and smoke tests, most of which can be either manual or automated.
Testing & Quality is part of our Engineering Career Leveling Framework. Explore next steps in your career from this industry-standard model.
Intro to Testing & QualityTesting and quality are critical components of software development, ensuring that products meet user needs and function properly.
- The different types of software testingThe Atlassian team discusses different types of software testing, such as unit, integration, functional, end-to-end, acceptance, performance, and smoke tests, as well as when manual vs automated testing is appropriate.
- Testing in Production, the safe wayWhether or not you choose to test in production based on reading this, this article will give you a fundamental understanding of real-world testing constraints. It covers: • Why test in production when one can test in staging? • The Art of Testing in Production • The Three Phases of “Production”: Deploy, Release, Post-Release • Testing in Production during the Deploy Phase
Test-Driven DevelomentTest-driven development involves writing tests before writing code, allowing developers to catch bugs early and ensure code meets requirements.
- 5 Questions Every Unit Test Must AnswerEric reviews why developers should bother with test discipline and how to write a good unit test by asking the questions: What are you testing? What should it do? What is the actual output? What is the expected output? How can the test be reproduced?
Automated TestingAutomated testing can Speed up the testing process and improve accuracy, but requires careful planning and maintenance.
- Learning To Love Automated TestingDan shares real world examples of automated tests that helped with finding fundamental design issues, discovering a broken dependency, and preventing functional problems.
Bug PoliciesBug policies define how bugs are identified, prioritized, and fixed, and should be tailored to the needs of each project.
Allocating Time to QualityAllocating sufficient time for testing and Quality Assurance is essential for producing high-quality software, and should be factored into project planning and management.
- Figma Quality Week: Inside our bug bashing partyShortly after Jason joined Figma, the whole company paused their projects for a major spring cleaning of the product in the form of a quality week. Jason describes the process for executing it.