In Part II, we went over Bug, the cost of bug generation, and the concepts related to quality assurance, quality control, and software testing. In Part III, we will learn about the characteristics of test types, the differences between test types, and how to combine testing types in software testing.
I. Types of testing
There are two basic types of testing: Static testing and dynamic testing.
1. Static testing
- This is called static testing because during this phase, testing not carried out on the code has been executed. It mainly focuses on requirements documents and design documents to find errors.
- Its main goal is to improve the quality of software products by finding defects in the early stages of the development cycle.
- This is also called the Do not implement or verification test.
- Static testing includes manual or automatic evaluation of documents. This evaluation is done during the initial testing phase to catch the early Defects in STLC (Software Testing Life Cycle – Software Testing Life Cycle).
- It checks working documents and provides reviews to improve product quality before embarking on coding
Examples of working documents: * Required specifications * Text design * Source code * Test plan * Test cases * Test scripts * Help documentation or user guides * Website content
Static Testing techniques included
- Inspection – Check:
- Here the main purpose is to find defects.
- The review is done by moderators.
- This type of assessment typically has a checklist prepared to check to see how well the work is done.
- Walk-through – Instructions:
- In this type of technique, Leader opens a meeting to explain the product.
- Participants can ask questions if they do not understand and take notes, to complete the work.
- Technical reviews – Technical comments:
- In this type of test, the technical test is tested once.
- This is done to check that the code is implemented according to the specifications and standards.
- In general, test plans, test strategies and test scripts are reviewed here.
- Informal reviews – Unofficial comments:
- Static test technique in which documents are reviewed and commented informally
- Giving unofficial comments.
- Static code Review – Static code review:
- This is a systematic review of software source code without executing code.
- It checks the syntax of code, coding standards, code optimization, etc.
- This is also called white box testing.
- This assessment can be done at any time during development.
2. Dynamic testing
- Dynamic testing is performed when the code is in executable mode.
- Dynamic testing is performed in the execution environment of running application programs.
- When the code is executed, the input is passed a value, the result or the output of the execution compared to the original expected result.
- With this we can observe the functional behavior of the software, monitoring the system memory, CPU response time, system performance.
- Dynamic testing is also known as Validation testing to evaluate products.
- Dynamic testing has two types: Functional testing and Non-functional testing.
Technical types Dynamic testing
- Unit Testing – Unit testing:
- Test each module of the developer ..
- With this technique, it is suitable for testing source code Integration Testing: Testing the implementation of links between different modules, suitable for the tester’s job.
- System Testing – System testing:
- Testing performed on the entire system.
- With this test, the system is linked across all functions, checking the operation smoothly and accurately.
- Acceptance Testing – Acceptance testing:
- Testing is done from the perspective of the end user.
- With this test, the application was brought to the user
III. Differences between static and dynamic tests
|Static Testing||Dynamic Testing|
|1. Static testing is a white box testing done at an early stage of the development cycle. This is more effective than using dynamic testing||1. Dynamic testing is performed at a later stage of the development life cycle.|
|2. In a shorter time, Statis testing has more verification scope than Dynamic testing||2. Dynamic testing has less scope of verification because it covers only limited areas of code|
|3. It is done before implementing the code||3. It is done after the implementation of the code|
|4. It is done in the Verification Step||4. It is done in the Validation Phase|
|5. This type of testing is done without executing code.||5. This type of implementation is done with code execution.|
|6. Static testing gives a review of the code as well as the documentation.||6. Dynamic testing indicates the limits of the software system.|
|7. In Static testing a list of test content is prepared for the test process||7. In Dynamic testing, test cases are executed.|
|8. Static testing methods include Walkthroughs, code reviews.||8. Dynamic testing includes functional and non-functional testing|
Source: Software Testing Book: An ISTQB-BCS Certified Tester Foundation guide, 4th edition
Authors: Brian Hambling, Peter Morgan, Angelina Samaroo, Geoff Thompson, Peter Williams