Author Archives: nramsdell1

Mutation Testing Blog

Hello everyone! Today I wanted to write a blog about someone else’s blog post that I found online last week while reviewing for one of my final exams. Its by James White ( https://blog.scottlogic.com/2017/09/25/mutation-testing.html ) and in his blog he talks about mutation testing, which is one of the topics we’ve covered in class recently. Mutation testing is a way to test the code that you have written by altering your code with changes that are designed with the intent of being detected by different tests you have written for your code. Basically, it mutates your code so your tests can find the mutation and, if that happens, then you know your tests worked correctly. If the mutation survives in your code then you know the tests didn’t work.

What I like about James’ blog is that he makes the idea easy to understand, and incorporates plenty of different examples to walk readers through how mutation testing works. I specifically like his example of why mutation testing is needed, and how, in his example, mutation testing was able to point out a flaw in his code that otherwise would have gone unnoticed, since you could have changed the line of code or even deleted it all together and, without mutation testing, it would have looked correct even though it wasn’t.

The other thing I liked about James’ blog is the different examples he gives of what these mutations look like. How it can change (input > 0) to (input <= 0) or how it could mutate code to check true instead of false. I also liked how he addressed the common question of how long it would take mutation testing to run, since that is a question I had myself once we started learning about mutation testing. I also thought it was pretty cool that he mentioned how mutation testing can help point out instances of redundant code, and some other neat things about it too. Overall I enjoyed reading his blog, and it helped me better understand the material we learned about in class.

From the blog CS@Worcester – Nick’s Blog by nramsdell1 and used with permission of the author. All other rights reserved by the author.

Path Testing Blog

Hello everyone! For this blog I wanted to share an article I found online written by Jeff Nyman ( https://testerstories.com/2014/06/path-testing-independent-paths/ ) which talks about Path Testing. I came across his article when I was trying to do some independent research about Path Testing and DD-Path Graphs for our 5th Homework Assignment in class. For our assignment, we are given 27 lines of code and need to come up with the DD-Path Graph for it. After starting to work on the assignment with Path Testing, I wanted to do some more research to make sure I completely understood the material, and that’s where Nyman’s article helped out a lot.

Path testing is a type of structural testing method that takes the source code of a program and finds all possible executable paths. The reason why this is used in computer science is because it can help find faults within a piece of code. DD-Path Graphs, or decision-to-decision path graphs, looks at the path of execution within two decisions for a piece of code. It is essentially a flow chart which follows the whole code.

Nyman’s article gives a lot of information on Path Testing, but the thing I like the most about his article is how he breaks down the way you can calculate the independent path for structures systems. He gives the following equations, which were created by Claude Berge, for calculating the independent paths:

  • Independent Paths = Edges – Nodes + 2
  • Independent Paths = Regions + 1
  • Independent Paths = Decisions + 1

He then goes into detail and gives a lot of examples of how to use these for specific coding problems, all of which helped me understand the material a little bit better. The reason why I found this so helpful was because our in-class assignment had us specifically looking for edge coverage and node coverage, and overall Nyman’s article helped me fill in the gaps to better comprehend the subject.

From the blog CS@Worcester – Nick’s Blog by nramsdell1 and used with permission of the author. All other rights reserved by the author.

Introduction

Hello world! This if my first blog post, so I’ll start with a short introduction. My name is Nicholas Ramsdell, and right now I am a student at Worcester State University majoring in Computer Science. The reason I am starting this blog is for my CS-443 class, also known as Software Quality Assurance and Testing.

From the blog CS@Worcester – Nick’s Blog by nramsdell1 and used with permission of the author. All other rights reserved by the author.