In June 2022, Davy became Certified Tester – ISTQB Foundation (International Software Testing Qualifications Board) allowing him to design and manage software tests by adopting the best practices related to these tests.
Since this certification obtained after an intense training lasting several days, Davy has acquired the skills and best practices on testing.
What are the 7 software tests?
It is important to know that there are an exhaustive number of testing methods, but in order to deploy better software and find defects that affect the development, it is important to choose the most suitable testing method.
Testing is a process of running a software program to look for errors in the application being developed. Testing is essential for deploying error-free software. Each type of testing has its advantages.
The 7 most common types of software testing are:
- Integration testing: tests performed to show defects in the interfaces and interactions of integrated components or systems. It is a question of verifying the correct operation of a precise part of the software. This test is preceded by the unit tests allowing to verify in the components, units or module and followed by the acceptance tests.
- Black Box Testing: Black box testing is applied to verify the functionality of the software by simply focusing on the various inputs and outputs of the application rather than delving into its internal structure, design or implementation. Black-box testing is performed from the user’s point of view, i.e., examining the functionality and what it is supposed to do to effectively serve the users.
- White Box Testing: The white box software testing strategy tests an application with access to the actual source code and focusing on the internal structure, design and implementation. White-box testing offers the advantage of quick identification of problems and bugs.
- Exploratory testing: As the name implies, exploratory testing involves exploring the application where the tester is constantly looking for what and where to test. This approach is applied in cases where documentation is non-existent or lacking and where there is little time left to complete the testing process.
- Acceptance testing: Acceptance testing is a quality assurance (QA) process that determines the extent to which a software product gains end-user approval. Also known as User Acceptance Testing (UAT) or system testing, it can test the usability or functionality of the system or even both. Depending on the company, acceptance testing can take the form of end-user testing, beta testing, application testing or field testing. The advantage of acceptance testing is that usability issues can be discovered and resolved at an early stage.
- Regression Testing: Regression testing is a testing practice that verifies whether the system is still working well, even after incremental development in the application. Most of the automated tests performed are regression tests. It ensures that any changes in the source code do not have any negative effect on the application.
- Functional testing: Functional testing tests the actual functionality of the software. This type of testing focuses on the results of the system processing and not on how the processing takes place. In functional testing, the internal structure of the system is not known to the tester.
These are the most common types of tests but there are many others such as system tests, error estimation, static and dynamic tests that can be adopted depending on the project being developed. For example, the development of a mobile application will be different from that of a software application since portability tests will be added and the specificities will be different since ergonomics will be more important.
What is the ISTQB certification, why is it essential for a company that develops software?
The ISTQB Foundation certification is a certification aiming at having a first approach on software testing by presenting the different types of tests, the software development life cycles and their management. It is a theoretical training in which many terms, definitions and best practices are taught.
It is a training course that takes place in person or remotely over 3 days and ends with an exam that is a MCQ of 40 questions in which the participant must obtain 65% of correct answers to obtain certification.
This ISTQB foundation course is designed for roject testing professionals: testers, analysts, project managers, any person wishing to acquire methods and know-how in software testing and to prepare for the ISTQB® Foundation Level certification (CTFL – Certified Software Tester) but there are no particular prerequisites to take this course.
The course content focuses on the fundamentals of testing, defining testing, its issues, principles and approaches as a tester and developer.
- Testing during the test development cycle
- Testing techniques
- Static testing
- Test management: with test planning in the form of review, meeting and organization
- Test support tools
The course also contains exercises and questions to practice the course content and the methodology for choosing and performing tests correctly.
This certification is essential for a company developing software because it provides the knowledge and skills to understand and choose the types of tests, manage the tests and the follow-up as well as the choice of tools to automate and facilitate the tests. In order to be able to manage a project in an optimal way, to find defects which can be important but also to have a global appreciation by the user as for the use of the software because the developers tend to test their codes but do not have the capacity to look deeply for all types of defects while by adopting the good practices, the recourse to use a team of tester makes it possible to detect types of failures which the developers are not likely to detect.
What are your impressions of this training?
This training allowed me to acquire new knowledge on testing activities but also to better understand the organization of test reviews and to know the terminology of tests.
As an Application Security Manager, I also have the responsibility of programming, but I didn’t necessarily have the rigor or the know-how to test every part of the code. The basics I acquired during this training will help Ventio to correctly perform tests, plan reviews and manage the different types of risks that can be encountered during future projects.
Of course, once the certification is acquired, it is possible to train for the more advanced certification in the testing profession that I will achieve later this year.
With its activity as a designer and developer of applications for the processing of sensitive health data, Ventio takes software testing to heart. Davy will therefore be able to integrate the methods associated with the life cycle of internally developed software.
Ventio is also a continuous breath of fresh air to increase competence in the best practices of IT development and software testing.