Navigating QA as a team
- Bugs are normal: Understand this and know peace. It helps you preempt issues that may arise.
- Ownership should be clear: Do you have a dedicated Q/A? Who is responsible for the different testing that needs to be done?
- Automate where you can: Sometimes, you need to automate certain tests using efficient tools.
- Set up code review processes: Always ensure there is a clear way for your development team to be accountable.
- Quality should be owned by everyone: Ensuring that your development team owns the deliverables and quality of their work is always ideal.
- Create a well-defined workflow: How products are shipped and the processes that must be completed are things you and your teams need to agree on.
Understanding the types of testing
- Unit Testing: this is a type of software testing where individual units or components of the software are tested. The purpose is to validate that each unit of the software code performs as expected. Unit Testing is done during the development (coding phase) of an application by the developers. Unit Tests isolate a section of code and verify its correctness. A unit may be an individual function, method, procedure, module, or object.
Unit testing is important because
-
Unit tests help to fix bugs early in the development cycle and save costs.
-
It helps the developers to understand the testing code base and enables them to make changes quickly
-
Good unit tests serve as project documentation
-
Unit tests help with code reuse. Migrate both your code and your tests to your new project. Tweak the code until the tests run again.
-
Integration Testing: Units and components of the software are tested whether they work correctly as a group.
Integration testing is known as the second level of the software testing process, following unit testing. Integration testing involves checking individual components or units of a software project to expose defects and problems to verify that they work together as designed.
Other than the fundamental truth that developers must test all software applications before releasing them to the public, there are some specific reasons why developers should perform integration testing.
- Incompatibility between software modules can cause errors