<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Week 10 &#8211; CS@Worcester</title>
	<atom:link href="https://cs.worcester.edu/category/week-10/feed/" rel="self" type="application/rss+xml" />
	<link>https://cs.worcester.edu</link>
	<description>Worcester State University Computer Science Department</description>
	<lastBuildDate>Sun, 09 Nov 2025 15:37:24 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
<site xmlns="com-wordpress:feed-additions:1">236835116</site>	<item>
		<title>Learning REST API Design Patterns: Building Better Interfaces</title>
		<link>https://computerscienceblues.blog/2025/11/09/learning-rest-api-design-patterns-building-better-interfaces/</link>
		
		<dc:creator><![CDATA[Vishisht Seku]]></dc:creator>
		<pubDate>Sun, 09 Nov 2025 15:37:24 +0000</pubDate>
				<category><![CDATA[CS-343]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Week 10]]></category>
		<guid isPermaLink="false">http://computerscienceblues.blog/?p=29</guid>

					<description><![CDATA[While going through different resources on API Development, I came across a blog post from Stoplight titled “API Design Patterns for REST Web Services.” Stoplight Blog – API Design Patterns for REST Web Services. I decided to write about this one because it connects directly with what we’ve been discussing in class about Design Patterns […]]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">While going through different resources on API Development, I came across a blog post from Stoplight titled <em>“API Design Patterns for REST Web Services.”</em> <a href="https://blog.stoplight.io/api-design-patterns-for-rest-web-services?utm_source=chatgpt.com">Stoplight Blog – API Design Patterns for REST Web Services</a>. I decided to write about this one because it connects directly with what we’ve been discussing in class about Design Patterns for REST API’s under the aegis of Professor Wurst. I’ve always wanted to understand how professional developers make APIs that are easy to use and extend, and this article gave me a clearer picture of what good API design actually looks like.</p>
<p class="wp-block-paragraph">The post starts by explaining that REST APIs are not just about connecting endpoints — they’re about defining <em>patterns</em> that make services predictable and consistent. It discusses important ideas such as resource-based design, the use of HTTP methods for specific actions (like GET, POST, PUT, DELETE), and how to organize URIs in a way that feels natural to users. It also highlights how consistent naming conventions and status codes can make APIs more reliable for anyone consuming them. One interesting point the author makes is that designing an API is a lot like designing a user interface, except the “user” is another program.</p>
<p class="wp-block-paragraph">I chose this blog because it goes beyond the basics of how to make an API work and instead focuses on how to make one <em>well-designed</em>. The examples were simple but realistic, and the explanations didn’t feel overly academic or abstract. I could see how these design decisions connect with what we’ve learned about modularity, abstraction, and communication protocols in software process management.</p>
<p class="wp-block-paragraph">Reading this made me realize that design patterns in REST APIs are as important as design patterns in object-oriented programming. They both aim to make software easier to understand and maintain. For example, I learned about the “collection pattern,” where a resource like /users represents a group of items, and /users/{id} represents an individual. This pattern keeps the structure clean and predictable. I also learned how misuse of HTTP verbs (like using POST for everything) can make an API confusing or harder to scale later.</p>
<p class="wp-block-paragraph">Personally, this article helped me connect classroom theory with real-world engineering practice. It changed how I think about building web systems — not just as code that works, but as something other people will depend on. In my future projects, especially my capstone work and the “Investment Wisdom” app I’m building, I plan to use these principles when designing backend endpoints. I’ll pay attention to consistent URIs, proper status codes, and resource naming so that my APIs feel professional and well-structured.</p>
<p class="wp-block-paragraph">Overall, this blog was a great reminder that clarity and consistency matter as much as functionality. It showed me that designing a REST API is an act of communication — between developers, systems, and even future maintainers.</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://computerscienceblues.blog">CS@Worcester – Vish&amp;#039;s Journey in Computer Science</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Vishisht Seku">Vishisht Seku</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://1.gravatar.com/avatar/736fcec3f8c409266336ea44c4451897f1b8d95cf1723337d15b98d246292acc?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">50228</post-id>	</item>
		<item>
		<title>Customer and Enterprise: Why is one valued over the other</title>
		<link>https://debugducker.wordpress.com/2025/04/06/customer-and-enterprise-why-is-one-valued-over-the-other/</link>
		
		<dc:creator><![CDATA[debugducker]]></dc:creator>
		<pubDate>Mon, 07 Apr 2025 03:42:46 +0000</pubDate>
				<category><![CDATA[business]]></category>
		<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Week 10]]></category>
		<guid isPermaLink="false">http://debugducker.wordpress.com/?p=98</guid>

					<description><![CDATA[Hello, Debug Ducker here and have you ever thought how low quality a software you use feels, despite being made by a well known company. This is how I feel when it comes to videos games. It was a thought that came to me during class when a professor said, if a company release buggy […]]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-image size-full"><img data-recalc-dims="1" decoding="async" data-attachment-id="104" data-permalink="https://debugducker.wordpress.com/2025/04/06/customer-and-enterprise-why-is-one-valued-over-the-other/pexels-photo-6801639/" data-orig-file="https://debugducker.wordpress.com/wp-content/uploads/2025/04/pexels-photo-6801639.jpeg" data-orig-size="1880,1253" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="statistics survey sheet" data-image-description="" data-image-caption="&lt;p&gt;Photo by Anna Nekrashevich on &lt;a href=&quot;https://www.pexels.com/photo/statistics-survey-sheet-6801639/&quot; rel=&quot;nofollow&quot;&gt;Pexels.com&lt;/a&gt;&lt;/p&gt;
" data-medium-file="https://debugducker.wordpress.com/wp-content/uploads/2025/04/pexels-photo-6801639.jpeg?w=300" data-large-file="https://debugducker.wordpress.com/wp-content/uploads/2025/04/pexels-photo-6801639.jpeg?w=1024" src="https://i0.wp.com/debugducker.wordpress.com/wp-content/uploads/2025/04/pexels-photo-6801639.jpeg?w=625&#038;ssl=1" alt="" class="wp-image-104" /><figcaption class="wp-element-caption">Photo by Anna Nekrashevich on <a href="https://www.pexels.com/photo/statistics-survey-sheet-6801639/" rel="nofollow">Pexels.com</a></figcaption></figure>
<p>Hello, Debug Ducker here and have you ever thought how low quality a software you use feels, despite being made by a well known company. This is how I feel when it comes to videos games. </p>
<p> It was a thought that came to me during class when a professor said, if a company release buggy untested software that may ruin the companies reputation. A student ask well what makes the game industry different then. For those in the know the game industry has been plagued with the problem or releasing products in a buggy or half-finished state, that they expect the consumer to buy. </p>
<p>You would think after years of doing such thing, game development companies would be careful about development. Many gamers have criticized this on going problem within the industry and some gaming companies are seen in a poor light,  though such reputation never seems to completely ruined them, it does make them less trustworthy. So why are video games different in terms of software testing.</p>
<p> This question kept bothering me, and I brought this up with a friend who may know more. He states that it is because that the consumer is not the most important person to disappoint, that in the software testing field the one who you don&#8217;t want to give a poor product or low quality product would be a company or a business. As they aren&#8217;t the average customer and have a lot more money to spend.</p>
<p>This is where I did a bit more digging and found out a lot of interesting things when it comes to making a product for the average consumer and making one for a company.</p>
<p>There is a lot of money making a product for a company. The graph from Dells revenue throughout the years showcase how much money can be made in enterprise products </p>
<figure class="wp-block-image size-large"><img data-recalc-dims="1" fetchpriority="high" decoding="async" width="625" height="522" data-attachment-id="100" data-permalink="https://debugducker.wordpress.com/2025/04/06/customer-and-enterprise-why-is-one-valued-over-the-other/3farz-dell-technologies-revenue-worldwide-from-2015-to-2024-by-subsegment/" data-orig-file="https://debugducker.wordpress.com/wp-content/uploads/2025/04/3farz-dell-technologies-revenue-worldwide-from-2015-to-2024-by-subsegment.png" data-orig-size="1240,1036" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="3Farz-dell-technologies-revenue-worldwide-from-2015-to-2024-by-subsegment" data-image-description="" data-image-caption="" data-medium-file="https://debugducker.wordpress.com/wp-content/uploads/2025/04/3farz-dell-technologies-revenue-worldwide-from-2015-to-2024-by-subsegment.png?w=300" data-large-file="https://debugducker.wordpress.com/wp-content/uploads/2025/04/3farz-dell-technologies-revenue-worldwide-from-2015-to-2024-by-subsegment.png?w=1024" src="https://i0.wp.com/debugducker.wordpress.com/wp-content/uploads/2025/04/3farz-dell-technologies-revenue-worldwide-from-2015-to-2024-by-subsegment.png?resize=625%2C522&#038;ssl=1" alt="" class="wp-image-100" srcset="https://debugducker.wordpress.com/wp-content/uploads/2025/04/3farz-dell-technologies-revenue-worldwide-from-2015-to-2024-by-subsegment.png?w=1024 1024w, https://debugducker.wordpress.com/wp-content/uploads/2025/04/3farz-dell-technologies-revenue-worldwide-from-2015-to-2024-by-subsegment.png?w=150 150w, https://debugducker.wordpress.com/wp-content/uploads/2025/04/3farz-dell-technologies-revenue-worldwide-from-2015-to-2024-by-subsegment.png?w=300 300w, https://debugducker.wordpress.com/wp-content/uploads/2025/04/3farz-dell-technologies-revenue-worldwide-from-2015-to-2024-by-subsegment.png?w=768 768w, https://debugducker.wordpress.com/wp-content/uploads/2025/04/3farz-dell-technologies-revenue-worldwide-from-2015-to-2024-by-subsegment.png 1240w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>As you can see the commercial products, which are products businesses themselves purchase make most of dell revenue compared to the average consumer. In a way I can see them being prioritized when it comes to reputation, you don&#8217;t want to have bad relations with the ones bring in the money.</p>
<p>There is possibly a more logical than financial answer to the question. Consumers are the common people and there are a lot of them. They may have different reactions to the product but since they are so many, there will always be someone willing to buy a product despite the quality. Then comes the company who probably needs the product to do a services and would prefer it thoroughly tested before getting it. </p>
<p>With this I can understand a little of why it is so important to test products in software testing especially when it comes to businesses. We need them for their continued support and they bring in a lot of money.</p>
</p>
<p>Admin. “Dell Statistics 2024 by User and Revenue.” <em>KMA Solutions</em>, 22 Apr. 2024, <a href="http://www.kma.ie/dell-statistics-2024-by-user-and-revenue/" rel="nofollow">http://www.kma.ie/dell-statistics-2024-by-user-and-revenue/</a>.</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://debugducker.wordpress.com">CS@Worcester – Debug Duck</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by debugducker">debugducker</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://0.gravatar.com/avatar/639f65f5724ad5a31220ac9485603b29a6e9312a92a9295c4ad34a8a4058bb4d?s=96&#038;d=identicon&#038;r=G" length="0" type="" />
<enclosure url="https://debugducker.wordpress.com/wp-content/uploads/2025/04/pexels-photo-6801639.jpeg" length="0" type="" />
<enclosure url="https://debugducker.wordpress.com/wp-content/uploads/2025/04/3farz-dell-technologies-revenue-worldwide-from-2015-to-2024-by-subsegment.png?w=1024" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">31336</post-id>	</item>
		<item>
		<title>Different Types Of Behavioral Unit</title>
		<link>https://eliongjelo.wordpress.com/2025/04/06/different-types-of-behavioral-unit/</link>
		
		<dc:creator><![CDATA[Elio Ngjelo]]></dc:creator>
		<pubDate>Mon, 07 Apr 2025 03:15:22 +0000</pubDate>
				<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Week 10]]></category>
		<guid isPermaLink="false">http://eliongjelo.wordpress.com/?p=79</guid>

					<description><![CDATA[Hello everyone, The topic of this week’s blog will be about Behavioral Testing. Testing your code is one of the most important things every programmer has to master in their professional career. There are many many ways to test your code, and each niche technique focuses and works differently for specific purposes. Some can be […]]]></description>
										<content:encoded><![CDATA[<p>Hello everyone,</p>
<p>The topic of this week&#8217;s blog will be about Behavioral Testing. Testing your code is one of the most important things every programmer has to master in their professional career. There are many many ways to test your code, and each niche technique focuses and works differently for specific purposes. Some can be similar enough compared to each other but different enough so they can be separated, and what we will focus on today will be about the “Different Types Of Behavioral Unit” As the name suggests, Behavioral Testing focuses more on how your code behaves rather than how it is written. While it may sound plain and simple, this type of testing has a lot of different ways programmers can use to test their code. </p>
<p>The first one you always start with is the “Happy Path Tests”, which basically checks if everything is working the way it should. The first goal each time you work on a project is to make sure that it runs and it outputs the wanted results, and then after you try to see how it reacts when things get a bit more complicated. Next we have “Negative Tests” and you use this to see how the program reacts when bad inputs are entered on purpose. This is used to see if some specific features work, like entering the wrong password. If that happens the program should give you another chance to enter the password or guide you on how to make a new one. This makes the program more secure and trustworthy for all users. The next most common type of Behavioral Testing, is “Boundary Tests” which allows you to see how the code behaves when inputs outside of the wanted range are entered or it can also be used to check the limit and boundaries of the code. This helps out with scaling the program if things are predicted to go bigger, from the database, users etc. One of my favorite things about this blog is that it covers a lot of key aspects that everyone should know about Behavioral Testing. Some tips that I learnt from it is that when writing this type of test you need to test one behavior at a time. Trying to test two at the same time will just ruin the purpose of it. You should also be very clear and describe exactly what you are trying to test. Another good habit you can do is to simulate events, from successful ones to trying to break your code on purpose to see how well it behaves in all conditions. </p>
<p>In conclusion Behavioral Testing is important because you can not only check if there are errors in the code from early to end development but also helps you understand how it behaves in different scenarios which is so important to know, it helps you to understand better and indirectly makes debugging a lot easier.</p>
<p><strong>Source:</strong> </p>
<p><a href="https://keploy.io/blog/community/understanding-different-types-of-behavioral-unit-tests">https://keploy.io/blog/community/understanding-different-types-of-behavioral-unit-tests</a></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://eliongjelo.wordpress.com">Elio&amp;#039;s Blog</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Elio Ngjelo">Elio Ngjelo</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://0.gravatar.com/avatar/fadc3d2a37bdd34e373332c3c13bec2f683b78307640766a05e043ceef1bf269?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">31339</post-id>	</item>
		<item>
		<title>Test-Driven Development: An efficient development process</title>
		<link>https://ajacherblog.wordpress.com/2025/04/06/test-driven-development-an-efficient-development-process/</link>
		
		<dc:creator><![CDATA[Adam Jacher]]></dc:creator>
		<pubDate>Mon, 07 Apr 2025 02:43:31 +0000</pubDate>
				<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Week 10]]></category>
		<guid isPermaLink="false">http://ajacherblog.wordpress.com/?p=108</guid>

					<description><![CDATA[Summary Of The Source Why I Chose This Resource I chose this blog post in particular because it is very easy to read for someone who is new to this process, providing all the necessary information needed to really understand what it is and its benefits without too much technical jargon.  Personal Reflection I have […]]]></description>
										<content:encoded><![CDATA[<h2 class="wp-block-heading">Summary Of The Source</h2>
<ol class="wp-block-list">
<li><strong>The process of TDD: </strong>There are three main steps to the TDD process, including the “red phase”, where a test is written but expected to fail. The green phase where code is written, enough to make the test pass. Finally the refactoring phase that aims to improve the code in functionality and in design metrics.</li>
<li><strong>Benefits of TDD for software teams: </strong>TDD is an implementation of agile development, since there is constant feedback on the tests and the code being written for them. This makes it so that the teams are regularly communicating and on the same page for fulfilling the requirements. Other benefits as well such as lower long-term costs, documentation, etc.</li>
<li><strong>Best practices for TDD: </strong>Organize correctly, making sure that naming conventions specify which function is being tested. Create tests that are simple and target only one aspect to assess, this makes it easier to pinpoint failure in the code.<strong> </strong></li>
</ol>
<h2 class="wp-block-heading">Why I Chose This Resource</h2>
<p>I chose this blog post in particular because it is very easy to read for someone who is new to this process, providing all the necessary information needed to really understand what it is and its benefits without too much technical jargon. </p>
<h2 class="wp-block-heading">Personal Reflection</h2>
<p>I have learned in the past about the waterfall development process vs the agile process, and that agile was pretty much just better, both in terms of time and resources spent. This blog made me realize that TDD falls under the agile framework and that makes the development more responsive to change along the way. It personally seemed silly to me at first that the test would be written first, testing seemingly nothing and only being there to cause confusion, but now I understand that it acts as more of a set of restrictions that keep the code produced working correctly, kind of like a mold that the code has to fit to work. This approach actually seems very intuitive because of the constant feedback and the way the functionality is built around something that is tested to work. To me, there don’t really seem to be any glaring downsides to this form of development unless the team decides against it and has a more comfortable development process, which for them would work better. It’s a simple strategy but it seems very clean in its workflow and deployment. </p>
<h2 class="wp-block-heading">Future Application</h2>
<p>After learning more about this process, I would like to work in an environment where this is practiced. It seems very intuitive and efficient and utilizing it would help me get a better personal feel for it. Developing around tests probably seems confining, but I think it does produce more correctly working code than the other way around.</p>
<h2 class="wp-block-heading">Citation</h2>
<p><strong><br /></strong> CircleCI. (2020, August 11). <em>What is test-driven development?</em> Retrieved from<a href="https://circleci.com/blog/test-driven-development-tdd/"> https://circleci.com/blog/test-driven-development-tdd/</a></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://ajacherblog.wordpress.com">CS@Worcester – The Science of Computation</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Adam Jacher">Adam Jacher</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://0.gravatar.com/avatar/6ef75ab4722fd76a8db6049765fbcdeb55e9b427ac1fe4e9dc9d3858b28a95da?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">31344</post-id>	</item>
		<item>
		<title>Why Boundary Testing is so Important</title>
		<link>https://samerikiller.wordpress.com/2025/04/06/why-boundary-testing-is-so-important/</link>
		
		<dc:creator><![CDATA[Daniel Parker]]></dc:creator>
		<pubDate>Mon, 07 Apr 2025 00:21:00 +0000</pubDate>
				<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Week 10]]></category>
		<guid isPermaLink="false">http://samerikiller.wordpress.com/?p=83</guid>

					<description><![CDATA[Boundary testing is an integral aspect of testing software used to test the extreme limits of a program. It consists of testing the minimum value, right above minimum, a nominal value, a maximum value, and right below maximum. If we’re using a strong testing method, we would also test below the minimum and above the […]]]></description>
										<content:encoded><![CDATA[<p>Boundary testing is an integral aspect of testing software used to test the extreme limits of a program. It consists of testing the minimum value, right above minimum, a nominal value, a maximum value, and right below maximum. If we&#8217;re using a strong testing method, we would also test below the minimum and above the maximum.</p>
<p>By testing this way, we can assure that the &#8220;boundaries&#8221; of the program work correctly as well as center of those boundaries. We can also ensure that invalid inputs return an invalid response from the program.</p>
<p>As Jayesh Karkar says in his blog <a href="https://testgrid.io/blog/boundary-value-testing-explained/">&#8220;Everything You Need to Know About Boundary Value Testing&#8221;</a>, &#8220;This testing is imperative when it comes to testing the functional competence of software modules.&#8221;</p>
<p>He mentions some factors that justify the necessity of boundary value testing. These include that functionality errors are likely to occur more often at boundaries, it only tests a small range of values making it simple to execute, and due to the testing being based on guidelines and framework there is no chance of compromising the boundary values which ensures maximum test effectiveness.</p>
<p>Now as most of us in the computer science field know, there are many ways of testing programs. Boundary value testing is just one of them. With this in mind, boundary value testing is certainly one you should keep in your &#8220;tool kit&#8221; and combine with other forms to create the most effective tests possible.</p>
<p>As I continue my career as a student and my future career as a computer scientist, I plan on taking this form of testing with me wherever I go as a fundamental. </p>

<p class="syndicated-attribution"><em>From the blog <a href="https://samerikiller.wordpress.com">CS@Worcester – DPCS Blog</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Daniel Parker">Daniel Parker</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://0.gravatar.com/avatar/c893c022661231898c973ef98d9355f5aaf780b89854e41cdff063a5b461575a?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">31328</post-id>	</item>
		<item>
		<title>Mocha, Chai, and Why</title>
		<link>https://cstoday1.wordpress.com/2025/04/06/mocha-chai-and-why/</link>
		
		<dc:creator><![CDATA[Guilherme Salazar Almeida Nazareth]]></dc:creator>
		<pubDate>Sun, 06 Apr 2025 16:55:38 +0000</pubDate>
				<category><![CDATA[CS-343]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Week 10]]></category>
		<guid isPermaLink="false">http://cstoday1.wordpress.com/?p=86</guid>

					<description><![CDATA[URL: TestoMat Mocha and Chai Web Application TestingThe chosen article walks us through the implementation and inner workings of two JavaScript testing tools. Mocha and Chai are two different testing tools that, when combined, form a powerful addition to any software development project. Mocha serves as a test runner, being responsible for executing the test […]]]></description>
										<content:encoded><![CDATA[<p>URL: <a href="https://testomat.io/blog/tutorial-testing-web-application-with-mocha-and-chai-get-rich-reports-and-analytics/">TestoMat Mocha and Chai Web Application Testing</a><br />The chosen article walks us through the implementation and inner workings of two JavaScript testing tools. Mocha and Chai are two different testing tools that, when combined, form a powerful addition to any software development project. Mocha serves as a test runner, being responsible for executing the test suites. While Mocha can function independently and does not necessarily require any additional tools, combining it with Chai, an assertion library, allows for the validation of expected outcomes in test cases.</p>
<p>The blog post also provides us with several reasons why the utilization of both tools can help improve your software development speed and quality. Among the listed benefits are:</p>
<p><strong>Mocha:</strong></p>
<ul class="wp-block-list">
<li>Flexible and customizable testing.</li>
<li>Simplifies the testing of asynchronous code.</li>
<li>The ability to apply before, beforeEach, after, and afterEach.</li>
<li>Runs tests in both browser and Node.js environments.</li>
</ul>
<p><strong>Chai:</strong></p>
<ul class="wp-block-list">
<li>Provides clear and expressive assertions that improve the readability of your test scripts.</li>
<li>Allows you to write descriptive tests using natural language constructions.</li>
<li>Enables the creation of custom assertions tailored to your specific testing requirements.</li>
<li>Supports assertions on complex data structures such as arrays, objects, etc.</li>
</ul>
<p>At the end of the article, it presents an opportunity to implement Mocha with some real-world examples, which is great and especially helpful for anyone unfamiliar with the framework.</p>
<p>The reason I chose this article relates mainly to another class. I will be taking on the task of developing test suites for the Thea’s Pantry app. I also found it interesting because it explains why you would use both Mocha and Chai instead of using other tools or Mocha alone.</p>
<p>The content is helpful and does not seem to include any bias by presenting Mocha and Chai as the only testing environment for JavaScript. Instead, it highlights their pros and invites the reader to determine whether these tools will suit their specific use case. One thing that caught my attention about using Mocha is its ability to generate documentation through testing. This is great, as it will help me better understand how documentation related to testing is created and how useful it can be.</p>
<p>Mocha and Chai’s use of natural, human-like language makes testing much easier. The use of natural or human-like language in programming often makes me skeptical of such tools, libraries, or frameworks. Sometimes, this characteristic is marketed as a way to draw people in, as if it will help them code more effectively. Although Mocha and Chai are distinct tools, their implementation of this characteristic leans more toward improving readability for the programmer rather than for just anyone. What I mean by this is that they avoid technical or overly formal wording in favor of keywords that resemble everyday human language.</p>

<p class="syndicated-attribution"><em>From the blog <a href="https://cstoday1.wordpress.com">CS@Worcester – CS Today</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Guilherme Salazar Almeida Nazareth">Guilherme Salazar Almeida Nazareth</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://0.gravatar.com/avatar/959052647f184b83eb94181497554294a0bbf4745745e6a180184f2f75b3ae00?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">31321</post-id>	</item>
		<item>
		<title>More About Mocks</title>
		<link>https://william1thousand.wordpress.com/2025/04/04/more-about-mocks/</link>
		
		<dc:creator><![CDATA[William Cordor]]></dc:creator>
		<pubDate>Fri, 04 Apr 2025 18:14:57 +0000</pubDate>
				<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Week 10]]></category>
		<guid isPermaLink="false">http://william1thousand.wordpress.com/?p=141</guid>

					<description><![CDATA[This week in class, we took another deep dive into the world of test doubles. This week pertained to mocks specifically. While doing class activities related to mocks this week in class, it seemed to me that mocks are easier to use than stubs while offering more insight on how a program is supposed to […]]]></description>
										<content:encoded><![CDATA[<p>This week in class, we took another deep dive into the world of test doubles. This week pertained to mocks specifically. While doing class activities related to mocks this week in class, it seemed to me that mocks are easier to use than stubs while offering more insight on how a program is supposed to run. With that in my mind, I took the opportunity to further learn about mocks. I ended up finding a blog that gave me an even better understanding about mocks, and it is called “Understanding Mock Objects in Software Testing: A Tale of Simulated Reality”.</p>
<p>One quote from the blog does a great job of summing up what mocks are. “It’s like a stand-in actor in a movie – the mock object behaves like the real one but is controlled within the testing environment.” Mocks mimic the actions of the object it replaces when called upon in a test class. Mocks check the order and frequency of method calls in which they are used, which stubs don’t do.</p>
<h2 class="wp-block-heading">Frameworks</h2>
<p>There are mocking frameworks for many different languages. Some common mock frameworks include Mockito in Java, Moq in .NET, and Jasmine in JavaScript. Mockito is popular for its simplicity. It does well to create mock objects for a certain class or database that simulates how a real object would respond in the program. Moq is primarily used for C# applications and is popular for its strong typing and fluent interface. A language with strong typing demands specification over data types, so variables must have a type when they are defined. Jasmine mocks HTTP requests, which allows front-end applications to be tested without back-end interactions.</p>
<h2 class="wp-block-heading">Pros</h2>
<p>Some of the benefits of using mocks is that they are used in a controlled and predictable environment, and they are efficient. Mocks give predetermined behaviors and don’t leave the testing framework, which leads to consistency and predictability. And since mocks are used in the place of real-world objects, the testing process is sped up. It allows testers to isolate external factors and focus solely on the code being tested. Mock testing is also a cheaper alternative to testing real-world objects that may be very expensive.</p>
<h2 class="wp-block-heading">Cons</h2>
<p>A drawback of mock testing is that while tests pass in the testing, they may not in real-world situations. And just like stubs, changes to the system can cause mocks to become outdated, so it is important that mocks are frequently provisioned in order kept up to date with any changes to the system being tested.</p>
<h2 class="wp-block-heading">Example</h2>
<figure class="wp-block-image"><img decoding="async" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXekeSz2pWoDIiQL_X-lfkG5fybK9gjxq0ETeLCEuHyeDNGpEH7HTZEUbwMREecxZ1hhfcraNw3aqhjE9NSNOlVPnX6m6iZihT9SRAz83_rtde0VD72R8L7SZAf_hixixNSf7nVYdA?key=ekLVn_VJnBi3fh5Oca5Y2vgm" alt="" /></figure>
<p>In the example above Mockito is the framework being used. WeatherService represents the external dependency, and WeatherModule represents what is being tested. mockService should return “Sunny” when “New York” is the string in the .getWeather() method. This allows WeatherModule to be tested in isolation. module.getWeather() is then assigned to the string variable “weather”. From there, weather is tested for if it returns “Sunny”. This is fascinating because the tests compile and are ran using make-believe objects</p>
<h2 class="wp-block-heading">Reference</h2>
<p><a href="https://www.thetesttribe.com/blog/mock-testing/">https://www.thetesttribe.com/blog/mock-testing/</a></p></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://william1thousand.wordpress.com">Blog del William</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by William Cordor">William Cordor</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://0.gravatar.com/avatar/f52691ab92b7ddd79fc6d32851ef272bf834b661c80ac6c275c25a164bdfb6a0?s=96&#038;d=identicon&#038;r=G" length="0" type="" />
<enclosure url="https://lh7-rt.googleusercontent.com/docsz/AD_4nXekeSz2pWoDIiQL_X-lfkG5fybK9gjxq0ETeLCEuHyeDNGpEH7HTZEUbwMREecxZ1hhfcraNw3aqhjE9NSNOlVPnX6m6iZihT9SRAz83_rtde0VD72R8L7SZAf_hixixNSf7nVYdA?key=ekLVn_VJnBi3fh5Oca5Y2vgm" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">31280</post-id>	</item>
		<item>
		<title>Use-Testing Graphs</title>
		<link>https://cinnydevelops.wordpress.com/2025/04/04/use-testing-graphs/</link>
		
		<dc:creator><![CDATA[CinCodes]]></dc:creator>
		<pubDate>Fri, 04 Apr 2025 17:57:25 +0000</pubDate>
				<category><![CDATA[Blogs]]></category>
		<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Week 10]]></category>
		<guid isPermaLink="false">http://cinnydevelops.wordpress.com/?p=165</guid>

					<description><![CDATA[In the previous week we spoke about Use-Testing which is a graph node with edges where the edges show the flow of the program, and the nodes are each line. These can be very big graphs if it is a large project but luckily, we can always shrink it down by taking out unnecessary nodes. […]]]></description>
										<content:encoded><![CDATA[<p>In the previous week we spoke about Use-Testing which is a graph node with edges where the edges show the flow of the program, and the nodes are each line. These can be very big graphs if it is a large project but luckily, we can always shrink it down by taking out unnecessary nodes. This will also mean redirecting the edges correctly but after working with the full model it is much simpler to shrink it down. These graphs are called Decision to decision path graphs that reduce redundancy while keeping the important parts of the graphs still visible and with the flow of the program. These graphs go well with decision tables where it would be a True or False scenario with a “don’t care” option which can be used together with the path graph.</p>
<p>We also learned to define the paths by splitting the variables, defined at and used nodes into separate columns. This simplified things in order for us to assign the node number to the variable. For example, node 1 is numCells which is used in node 4 and 10, when we do this method, we can see where each variable is used at and therefore when we shrink our graphs, we know how to better organize it.</p>
<figure class="wp-block-image size-large"><img data-recalc-dims="1" decoding="async" width="625" height="527" data-attachment-id="167" data-permalink="https://cinnydevelops.wordpress.com/2025/04/04/use-testing-graphs/screenshot-2025-04-04-135125/" data-orig-file="https://cinnydevelops.wordpress.com/wp-content/uploads/2025/04/screenshot-2025-04-04-135125.png" data-orig-size="627,529" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Screenshot 2025-04-04 135125" data-image-description="" data-image-caption="" data-medium-file="https://cinnydevelops.wordpress.com/wp-content/uploads/2025/04/screenshot-2025-04-04-135125.png?w=300" data-large-file="https://cinnydevelops.wordpress.com/wp-content/uploads/2025/04/screenshot-2025-04-04-135125.png?w=627" src="https://i0.wp.com/cinnydevelops.wordpress.com/wp-content/uploads/2025/04/screenshot-2025-04-04-135125.png?resize=625%2C527&#038;ssl=1" alt="" class="wp-image-167" srcset="https://cinnydevelops.wordpress.com/wp-content/uploads/2025/04/screenshot-2025-04-04-135125.png 627w, https://cinnydevelops.wordpress.com/wp-content/uploads/2025/04/screenshot-2025-04-04-135125.png?w=150 150w, https://cinnydevelops.wordpress.com/wp-content/uploads/2025/04/screenshot-2025-04-04-135125.png?w=300 300w" sizes="(max-width: 627px) 100vw, 627px" /></figure>
<p>Overall, the use of the test cases helps us organize for test cases for the entire system. It helps us determine whether something is useful or not like an empty line can be counted as a node because the IDE is still going to check if there is code on that line, but for the final graph empty lines and else statements can be erased or shown as an edge. The graphs also help with noticing what we need for the test case not only what we do not need. This makes it easier to visualize the structure of the code while also easily being able to communicate what is required in order to make the test cases because the last thing anyone wants to do is write unnecessary test cases or and over abundant amount of test cases that should not be there.</p>
<figure class="wp-block-image size-large"><img data-recalc-dims="1" decoding="async" width="625" height="452" data-attachment-id="169" data-permalink="https://cinnydevelops.wordpress.com/2025/04/04/use-testing-graphs/screenshot-2025-04-04-135418/" data-orig-file="https://cinnydevelops.wordpress.com/wp-content/uploads/2025/04/screenshot-2025-04-04-135418.png" data-orig-size="632,457" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Screenshot 2025-04-04 135418" data-image-description="" data-image-caption="" data-medium-file="https://cinnydevelops.wordpress.com/wp-content/uploads/2025/04/screenshot-2025-04-04-135418.png?w=300" data-large-file="https://cinnydevelops.wordpress.com/wp-content/uploads/2025/04/screenshot-2025-04-04-135418.png?w=632" src="https://i0.wp.com/cinnydevelops.wordpress.com/wp-content/uploads/2025/04/screenshot-2025-04-04-135418.png?resize=625%2C452&#038;ssl=1" alt="" class="wp-image-169" srcset="https://cinnydevelops.wordpress.com/wp-content/uploads/2025/04/screenshot-2025-04-04-135418.png 632w, https://cinnydevelops.wordpress.com/wp-content/uploads/2025/04/screenshot-2025-04-04-135418.png?w=150 150w, https://cinnydevelops.wordpress.com/wp-content/uploads/2025/04/screenshot-2025-04-04-135418.png?w=300 300w" sizes="(max-width: 632px) 100vw, 632px" /></figure>
<p>Also, by using path testing you can easily visualize which node interacts with a certain edge or another node. If needed to explain to a team of engineers it will be easy and organized for anyone to look at while also having all the valid and important information that they need to create the test cases for the software.  I also learned about the cases that come along with these graphs which are cases 1-5 where case 1 is a node with no edge going into it which would always be the first node of the graph. Case 2 just does not go out to another node implying in some cases the last node. Case 3 would be an indegree greater than 2 and out degree greater than 2. Case 4 consists of 1 degree in and 1 degree out which is usually in variable declaration or in a sequential program. Case 5 is a single entry or single exit. These cases help to define the nodes further in-depth in order to dive deeper into the flow of the program.</p>
<p>Source: <a href="https://www.geeksforgeeks.org/software-testing-use-case-testing/">Software Testing – Use Case Testing | GeeksforGeeks</a></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://cinnydevelops.wordpress.com">Cinnamon Codes</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by CinCodes">CinCodes</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://0.gravatar.com/avatar/9ad92b68b58ffe83f9dbe92ce40125fb8abb7f62feb1fa8ba1fba2fc31aedf44?s=96&#038;d=identicon&#038;r=G" length="0" type="" />
<enclosure url="https://cinnydevelops.wordpress.com/wp-content/uploads/2025/04/screenshot-2025-04-04-135125.png?w=627" length="0" type="" />
<enclosure url="https://cinnydevelops.wordpress.com/wp-content/uploads/2025/04/screenshot-2025-04-04-135418.png?w=632" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">31274</post-id>	</item>
		<item>
		<title>Week 10- Stubs and Mocks</title>
		<link>https://alidanordquist.wordpress.com/2025/04/04/week-10-stubs-and-mocks/</link>
		
		<dc:creator><![CDATA[alidanordquist]]></dc:creator>
		<pubDate>Fri, 04 Apr 2025 14:47:19 +0000</pubDate>
				<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Week 10]]></category>
		<guid isPermaLink="false">http://alidanordquist.wordpress.com/?p=35</guid>

					<description><![CDATA[During week 10, we experimented with stubs and mocks. Stubs and mocks are two forms of testing doubles that allow a team to write tests before the whole program has been written. Stubs and mocks simulate the code’s fleshed out methods and allow for testing methods to be written in advance.  Stubs are methods or […]]]></description>
										<content:encoded><![CDATA[<p>During week 10, we experimented with stubs and mocks. Stubs and mocks are two forms of testing doubles that allow a team to write tests before the whole program has been written. Stubs and mocks simulate the code’s fleshed out methods and allow for testing methods to be written in advance.&nbsp;</p>
<p>Stubs are methods or classes that are either empty or return a set value so they can run and be tested. Stubs are state testers and focus on testing the outcome of methods. Mocks are more dynamic, the test block can define what it wants the outcome of any method to be and then test for that outcome. It can also test for multiple set outcomes in the same block. Mocks are behavior testers and test the interactions between methods, rather than the outcome.&nbsp;</p>
<p>The reference I found was a blog that compares and contrasts stubs and mocks by BairesDev to get a better idea of their use cases. They explained what stubs and mocks are, the advantages and disadvantages of each, and the situations to use both of them.</p>
<p>Advantages for stubs are their predictability and isolating the method. They will always return what you are expecting because of how simple they are. Since stubs do not involve any other calls or methods, they are great at isolating testing to just that method. Disadvantages are user error and the lack of behavior testing. The user might have a discrepancy in what they return in the stub and what they expect in the test. If your method needs to interact with other methods, stubs are not great for testing behavior because they only look at the outcome.&nbsp;</p>
<p>Advantages for mocks are being better at testing subtle bugs and issues and testing the interactions between methods in your code. Since mocks are behavioral tests, if the methods don’t interact how they’re expected to, the test will not pass, which goes beyond what stubs do. Disadvantages are increased complexity and brittle tests. Mocks make your tests more complex than if you were testing the fully written code, which may take more time to adapt to once the program is finished. Brittle tests can occur if tests are too connected to the mock expectations, and small changes can cause a lot of errors.&nbsp;</p>
<p>Overall, stubs are useful when testing independent methods and those that only need to be tested for the outcome. Mocks are useful when methods are dependent on others and can find errors that might not show up if you were just testing outcomes. Both are great when writing tests, but have different applications and both should be used when testing programs. </p>
<p>Source: <a href="https://www.bairesdev.com/blog/stub-vs-mock/">https://www.bairesdev.com/blog/stub-vs-mock/</a></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://alidanordquist.wordpress.com">CS@Worcester – ALIDA NORDQUIST</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by alidanordquist">alidanordquist</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://1.gravatar.com/avatar/d6fb801b2f58d4b758ae230630fa9a5cd18894fed278010145da37af11af6681?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">31268</post-id>	</item>
		<item>
		<title>Decision Table Testing</title>
		<link>https://jmujjumbi.wordpress.com/2025/04/03/decision-table-testing/</link>
		
		<dc:creator><![CDATA[Jonathan Mujjumbi]]></dc:creator>
		<pubDate>Fri, 04 Apr 2025 01:27:10 +0000</pubDate>
				<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Week 10]]></category>
		<guid isPermaLink="false">http://jmujjumbi.wordpress.com/?p=48</guid>

					<description><![CDATA[Decision table testing is a software testing  technique  that connects  inputs to  outputs. It  utilizes a structured table  for all possible test cases to be analyzed. A  condition represents  a variable or input that  impacts a process, and the action is the outcome influenced by a condition. Condition alternatives define all  possible values for a […]]]></description>
										<content:encoded><![CDATA[<p>Decision table testing is a software testing&nbsp; technique&nbsp; that connects&nbsp; inputs to&nbsp; outputs. It&nbsp; utilizes a structured table&nbsp; for all possible test cases to be analyzed. A&nbsp; condition represents&nbsp; a variable or input that&nbsp; impacts a process, and the action is the outcome influenced by a condition. Condition alternatives define all&nbsp; possible values for a condition. Each row in&nbsp; decision table testing is a connection between a&nbsp; condition and action, with values typically&nbsp; represented as true or false or yes or no. For instance testing a login system, the conditions are username and password. Action is a successful or&nbsp; failed&nbsp; login attempt. Switch table is classified as a type of decision table testing where&nbsp; a single condition decides a design. A&nbsp; traffic light system is an instance of decision table testing, with traffic light color being the condition. Action is cars&nbsp; stopping or&nbsp; continuing through traffic depending on traffic light color. In&nbsp; rule based decision table, columns are actions and conditions, and the&nbsp; row indicates if a condition and action&nbsp; for a column match the condition and action for a rule.&nbsp; Another type of decision based testing is a limited decision table. Limited decision tables have a simple and independent condition with an example of a login system. A&nbsp; login attempt result&nbsp; is known from a&nbsp; username and password being correctly entered. Username and password are independent&nbsp; conditions, as a system identifies username or password is correct, regardless of each other.</p>
<p>First step in creating a decision table is identifying the conditions. A login system will be used for an example. Conditions are valid &nbsp; username or&nbsp; password. Once the conditions are constructed, the next step is defining&nbsp; possible condition alternatives. In a class activity, the conditions were gpa and credits. A condition with either&nbsp; gpa or credits is allowed&nbsp; multiple&nbsp; values&nbsp; such as gpa &gt; 2.5&nbsp; or gpa &lt; 4.0. Once condition and condition alternatives have been created, the actions have to&nbsp; be defined. The next step is setting up&nbsp; rules for the decision table. After the rules have been set. The table should hold conditions, actions, rules, and condition alternatives. Table should be now filled. The last step to creating a decision table is identifying and deleting&nbsp; repetitive rules. Prior to taking a software testing class, I had little knowledge on decision table testing. I choose this blog as a chance to expand my&nbsp; understanding of decision testing. After reading the article, I have a better understanding of decision testing compared to my first learning decision testing.</p>
<p>article: <a href="https://www.browserstack.com/guide/decision-table">https://www.browserstack.com/guide/decision-table</a></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://jmujjumbi.wordpress.com">CS@Worcester – jonathan&amp;#039;s computer journey</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Jonathan Mujjumbi">Jonathan Mujjumbi</a></em> and used with permission of the author. All other rights reserved by the author.</p>]]></content:encoded>
					
		
		<enclosure url="https://0.gravatar.com/avatar/c08138f821a551f6fa25a0a85696ecf8604bb91fb9266b7723ba118dc639b75b?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">31253</post-id>	</item>
	</channel>
</rss>
