Testing in software development is important because it helps to deliver efficient and user friendly products to the end user. It also provides the developers with a chance to improve upon the product. Static and Dynamic testing are two important techniques used in software development.
Static Testing
Static Testing has various names like Verification Testing, Non-execution Testing, etc. This testing technique is used to identify defects in software without actually executing the code. This method usually includes manual and automated evaluation of the software and the code. Developers use this method usually in the beginning stages of the development process to catch issues early on, which will also lead to be easier and cheap to fix. This method focuses on reviewing the test cases, test scripts, test plans, and source code.
Static Testing Techniques
1.) Informal Reviews: Developers review each of the documents and give feedback
2.) Walkthroughs: Someone presents the product to the team and someone else takes notes.
3.) Technical Reviews / Code Reviews: review the technical specifications and the source code to make sure everything meets the requirements and standards.
4.) Inspection: Check for defects. Developers usually review the process with a checklist to help identify and record for defects.
Dynamic Testing
Dynamic Testing is a technique that analyzes the dynamic behavior of the code by actually executing it. This method makes sure to check that the software functions correctly and that there are no underlying issues / conditions. Sometimes developers use this method in conjunction with black box or white box testing to provide more realistic results.
Dynamic Testing Techniques
1.) White Box Testing: Examines the internal code structure. You need to actually have the internal code (source code)
2.) Black Box Testing: Checks the functionality without the actual internal code (source code) .
Benefits of both Static Testing and Dynamic Testing
1.) Early detection of defects
2.) Cost efficient
3.) Showcases runtime errors
4.) Reliability
Why I picked this Resource
I chose the article “Static Testing vs. Dynamic Testing” because this article gave me a more detailed and in depth look between two very important testing methods that are currently being used in todays society. It is very important to understand these two testing methods in the software development process because they can deliver efficient and user friendly products to the end user. This article also aligns with what we have learned in the course, making it relevant to talk about and to understand.
Personal Reflection
This article deepened my understanding of static and dynamic testing. I was able to learn a lot about these two testing methods that I did not know, even the many benefits that each method has. Knowing how crucial these two methods are in the software development process and what I know now, this knowledge will help me on my future endeavors when approaching new projects in regards to testing .
The full article is here: https://www.geeksforgeeks.org/difference-between-static-and-dynamic-testing/
From the blog CS@Worcester – In's and Out's of Software Testing by Jaylon Brodie and used with permission of the author. All other rights reserved by the author.