When it comes to types of tests, we can separate 𝚊𝚞𝚝𝚘𝚖𝚊𝚝𝚎𝚍 tests and 𝚖𝚊𝚗𝚞𝚊𝚕 tests. Here, we are going to cover both types of tests.
𝗨𝗻𝗶𝘁 𝘁𝗲𝘀𝘁𝘀. They allow to test each component of an application individually, and validate ✅ the quality of the code and the performance of a module.
𝗣𝗲𝗿𝗳𝗼𝗿𝗺𝗮𝗻𝗰𝗲 𝘁𝗲𝘀𝘁𝘀. They validate the capacity of servers and networks to support high access loads.
𝗜𝗻𝘁𝗲𝗴𝗿𝗮𝘁𝗶𝗼𝗻 𝘁𝗲𝘀𝘁𝘀. They validate the various modules integration and their final operating environment. They highlight gaps problems between the different programs. 🔩
𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝗮𝗹 𝘁𝗲𝘀𝘁𝘀. They verify the good application conformity with the initial specifications. These tests are based on functional specifications, but also on technical specifications. 🛠️
𝗥𝗲𝗴𝗿𝗲𝘀𝘀𝗶𝗼𝗻 𝘁𝗲𝘀𝘁𝘀. They verify that the modifications have not altered the functioning of the application.
𝗖𝗼𝗻𝗳𝗶𝗴𝘂𝗿𝗮𝘁𝗶𝗼𝗻 𝘁𝗲𝘀𝘁𝘀. They study the impact of operating environments on its functioning.
𝗜𝗻𝘀𝘁𝗮𝗹𝗹𝗮𝘁𝗶𝗼𝗻 𝘁𝗲𝘀𝘁𝘀. They check all aspects related to the installation, but also to the documentation. 📋
𝗛𝗠𝗜 𝘁𝗲𝘀𝘁𝘀. They check if the 𝖌𝖗𝖆𝖕𝖍𝖎𝖈 𝖈𝖍𝖆𝖗𝖙𝖊𝖗 has been respected during the development. They check the visual presentation and also the navigation.
𝗟𝗼𝗮𝗱 𝘁𝗲𝘀𝘁𝘀. These non-functional tests determine how the software application behaves when used by multiple users simultaneously.
𝗔𝗰𝗰𝗲𝗽𝘁𝗮𝗻𝗰𝗲 𝘁𝗲𝘀𝘁𝘀. Acceptance testing verifies that a system meets its business requirements. They can also measure system performance and reject changes if objectives are not met. 💭
𝗘𝘅𝗽𝗹𝗼𝗿𝗮𝘁𝗼𝗿𝘆 𝘁𝗲𝘀𝘁𝘀. Very precise, they discover errors ❌ that are difficult to spot when a manual test is performed.
𝗦𝗺𝗼𝗸𝗲 𝘁𝗲𝘀𝘁𝘀. They reveal serious failures that may reject 𝘢 𝘧𝘶𝘵𝘶𝘳𝘦 𝘷𝘦𝘳𝘴𝘪𝘰𝘯 of the application. 🔜 They assess whether the main software functions appear to be working properly.
𝗔𝗱𝗺𝗶𝘀𝘀𝗶𝗼𝗻 𝘁𝗲𝘀𝘁. When a smoke test is used to determine whether a computer program should be subjected to further, more refined testing, it may be called an admission test.
𝗦𝗲𝗰𝘂𝗿𝗶𝘁𝘆 𝘁𝗲𝘀𝘁𝘀. They reveal flaws in the security mechanisms of an information system that protect data and maintain functionality as intended. However, this does not mean that there are no flaws.
𝗣𝗲𝗻𝘁𝗲𝘀𝘁𝗶𝗻𝗴. Ethical hacking technique that consists in testing 𝘵𝘩𝘦 𝘷𝘶𝘭𝘯𝘦𝘳𝘢𝘣𝘪𝘭𝘪𝘵𝘺 of a computer system, an application or a website by detecting flaws that could be exploited by a hacker or a malware. 🕵️