Author Archives: Jaylon Brodie

Understanding Test Driven Development in Software Engineering

Test Driven Development is a method in software development in which tests are created before the actual code. By writing test before hand, developers have a clear understanding of what will need to implemented, which can help avoid unnecessary errors. This approach will help to have the software behave as expected. This method is a structured and systematic approach. This test method is doesn’t just focus on testing, however it also focuses on quality and behavior. The main goal of this test method is to ensure that the code meets the specified requirements and behaves as expected. Test Driven Development helps with clarifying requirements, reducing defects, and improving the code maintainability.

How does it work?

Test Driven Development operates on a cycle like, first write a test, second make it run, third change the code to make it pass, and then repeat. Developers should first write a test that will analyze the behavior that they want implement. After running the test and writing and rewriting the code to make the test pass, developers will then need to continue reframing the code to improve it’s design and maintainability without changing it’s behavior. This process will make sure that that each piece of code is throughly tested and validate before moving on to the next.

Test Driven Development vs Traditional Testing

The difference between Test Drive Development and Traditional testing is that test driven development method has a different approach and objective. Traditional testing methods usually aim to find bugs or even defects in code, test driven development mainly focuses on making sure that the code meets the specific requirements. A failed test in test driven development method tells the developers to write new code to fulfill the requirement’s, and it also tends to make sure that the code will be lead to higher quality, with fewer defects.

There are also two levels of test driven development that focuses on different aspects of software development. Those two levels being Acceptance TDD and Developer TDD. Acceptance involves writing acceptance test that verify the overall behavior of the systems based on the users requirements. Development TDD, focuses on writing unit tests for individual components or modules of the system.

Why Did I pick this Article?

I chose this article because Test Driven Development is a very important concept in software engineering. This article has taught me a lot about test driven development , which include numerous benefits like improved quality of code, reduced bugs and fewer defects, and faster development cycle. These many advantages are valuable for any software development project.

Reflection

After reading this article, i have learned a lot about Test Driven Development and it’s many advantages. One key take away for me was how in this method developers are to write test before actually writing the code, which can help in clarifying and ensuring that the code is correct and meets the required specifications. I also found how the article talks about the difference between test driven development and traditional testing methods. Learning about the Acceptance TDD framework helped me with my understanding of how test drive development can be scaled for larger projects and integrated into Acceptance methods.

Now that my understanding has been enlighten with this new found valuable knowledge and insights into test driven development methods, I can apply this in my future software development projects. I will also be able to writer better, cleaner, and more maintainable code when using this method.

Article link is Here: https://www.guru99.com/test-driven-development.html

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.

Black Box Testing vs White Box Testing

Black box testing is a testing methodology that focuses on the end-user experience without delving into the internal design. White box testing is a testing methodology that focusses on the internal code, design, and structure of an application. In the article ” Black box vs White box testing” the author talks about the differences among them and when & why we should use these test methods.

The primary key differences the two software testing methods have

The primary differences between both testing methods are the process, techniques, and the operations. When it comes to the “process” the black box method begins with a clear understanding of the software’s functional requirements. The testers will rely on external specifications to formulate test cases, while the white box method requires a comprehensive understanding of the internal code, design, and structure of the software. The testers will need access to the source code. When it come to the “techniques” the black box method use a techniques called “equivalence class partitioning (ECP)”, this technique calls for the input values for the application or system to be classified based on outcome similarity. The white box method uses a technique called “Statement coverage” where all statements are at least once executed at the source code level in this method. Finally, when it comes to the ” operations “ the black box testing method main goal is to ensure the system works flawlessly for the end user, while the white box methods main goal is to ensure that an application’s code scores high in quality and integrity.

Why did I pick this Article?

The reason why I picked this article is because it was clear in explaining the many concepts of Black box and White box testing. As a student taking this course this article was very helpful and gave me a greater understanding of both these test methods and their differences.

Personal Reflection

The content of this article really increased my understanding of the software test methods, Black box and White box. Understanding Black box and White box testing is essential in the world of software development and quality assurance. This newfound knowledge will help me to make better choices in the future when I am dealing with test methods.

The full Article is Here: https://www.spiceworks.com/tech/devops/articles/black-box-vs-white-box-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.

Object-oriented Testing

Object-oriented testing revolves around the examination of individual classes within an object oriented program. Objects are instances of these classes. In the article ” Object Oriented Testing in Software Testing” , the author talks about the evolution between old testing methods to object-oriented testing. The author also talks about the advantages of object oriented testing, which include reliability, extendibility, and reusability.

Navigating Object-Oriented Testing

Strategies and techniques for developing test cases in Object Oriented Testing could include Fault-based testing, scenario-based testing, and class testing based on method testing,. These different test cases / techniques play a pivotal role when it comes to trying to find all defects, improper interactions among classes, or being less time consuming. Object-oriented testing can however present some challenges such as testing inheritance in larger systems or the inability to dynamically test classes.

Why did I pick this Article?

I chose this article because it offers a great understanding of Object-oriented testing and highlights the many techniques that can be used, also the many different advantages of Object oriented testing. Moreover, the article does a good job explaining the evolution of testing methods, to object-oriented testing and some challenges you may face in testing Object-oriented programs.

Personal Reflection

This article has broadened my understanding of object-oriented testing, specifically detailing the transition from old traditional methods to object-oriented. I was also able to grasp the many advantages and challenges that object oriented presents, allowing me to know why we should and should not use it in certain scenarios. The knowledge gained from reading this article will play a pivotal role when approached to testing in object-oriented environments. The knowledge for developing test cases and the advantages and challenges will guide me in future projects.

The full Article is here: https://www.scaler.com/topics/software-testing/object-oriented-testing-in-software-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.

Exploring the in’s and out’s of Software Quality Assurance.

SQA ( Software Quality Assurance)

This blog is dedicated to exposing the reader to best practices while performing Software Quality Assurance.

Within this blog you will find different types of content regarding;

  • System testing (exploring ways to address defects or errors) 
  • Security testing ( exploring different ways companies can reduce risk) 
  • Code Reviews ( exploring code quality and ways to improve) 
  • Performance Testing ( exploring performance issues and ways to improve) 
  • And more…

This blog post will be closely related to the course taught within most computer science majors at colleges entitled, Software Quality Assurance and Testing, which covers these topics and more. Stay tuned for the latest entry for this blog and how you can be informed on the latest news on SQA Testing practices. 

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.