<?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 12 &#8211; CS@Worcester</title>
	<atom:link href="https://cs.worcester.edu/category/week-12/feed/" rel="self" type="application/rss+xml" />
	<link>https://cs.worcester.edu</link>
	<description>Worcester State University Computer Science Department</description>
	<lastBuildDate>Mon, 17 Nov 2025 03:33:47 +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>Blog Post for Quarter 3</title>
		<link>https://ryanncs.wordpress.com/2025/11/16/blog-post-for-quarter-3/</link>
		
		<dc:creator><![CDATA[Ryan N]]></dc:creator>
		<pubDate>Mon, 17 Nov 2025 03:33:47 +0000</pubDate>
				<category><![CDATA[CS-348]]></category>
		<category><![CDATA[cs-wsu]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Quarter-3]]></category>
		<category><![CDATA[Week 12]]></category>
		<guid isPermaLink="false">http://ryanncs.wordpress.com/?p=41</guid>

					<description><![CDATA[November 16th, 2025 Considering how clean code was recently on my mind (mostly due to a recent assignment), I thought it might be interesting to look into. I ended up finding out that there a various style guides (well, a comic from an assignment also showed me that too) and this blog shows some examples. […]]]></description>
										<content:encoded><![CDATA[<p>November 16th, 2025</p>
<p>Considering how clean code was recently on my mind (mostly due to a recent assignment), I thought it might be interesting to look into. I ended up finding out that there a various style guides (well, a comic from an assignment also showed me that too) and this blog shows some examples. It is nice as a basic overview of some style guides. It most notably noted 3 types of styles that revolve around whitespace usage and brace placement. It compliments what I was learning in class as the class typically focused on things like function and variable names, reducing the amount of nested loops, and the usage of too many parameters. The blog goes over how some styles place braces in a way to make it easier to parse through things like heavily nested loops and such. These both end up telling of ways to increase clarity but in different ways, which is super fascinating. </p>
<p>Interestingly, this led to me to look at my own code. My current code uses the &#8220;Allman&#8221; style of braces. This was taught to me back in AP Computer Science back in high school. I vaguely remember &#8220;Allman&#8221; being discussed in class, but I never made the connection between it and how I typed code. I ended up doing it since it was the easiest to read. Well, that and the professor told me that this was the &#8220;proper&#8221; way to code. (I vaguely remember the thing I did code in also automatically did it for me too.) Since then, I&#8217;d sometimes just go around and putting braces in that format. (Perhaps I&#8217;m worse off due to this since I overly rely on a style. I&#8217;ll need to learn to read other styles soon.)</p>
<p>Overall, I&#8217;ve mainly noticed my code is super, super bad. Like, overly bad. So next time I code something, I should do many different things. This blog I picked and the assignments on &#8220;clean code&#8221; would be a good start honestly. (Unfortunately, as someone who &#8220;thinks by doing,&#8221; I had a habit of creating copious amounts of technical debt without even realizing it. Then again, I was always the type to prefer redoing things entirely as opposed to looking for minor improvements&#8230;.) Maybe one day my code will be actually good for once. And thankfully, I&#8217;ve got various places to start improving. There&#8217;s a long road ahead&#8230;. Well, at least that means that I have a lot of ways I can improve; the plateau isn&#8217;t here just yet. In fact, it is very far from where I am.</p>
<p> <a href="https://iannis.io/blog/the-ultimate-code-style/">https://iannis.io/blog/the-ultimate-code-style/</a></p></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://ryanncs.wordpress.com">CS@Worcester – Ryan&amp;#039;s Blog Maybe.</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Ryan N">Ryan N</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/660953cfd6327ccfb3ce2926813ba557714485985dc8923e3fa6ea2c633ba5ee?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">44471</post-id>	</item>
		<item>
		<title>Test-Driven Development</title>
		<link>https://eliongjelo.wordpress.com/2025/04/20/test-driven-development/</link>
		
		<dc:creator><![CDATA[Elio Ngjelo]]></dc:creator>
		<pubDate>Mon, 21 Apr 2025 03:50:21 +0000</pubDate>
				<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Week 12]]></category>
		<guid isPermaLink="false">http://eliongjelo.wordpress.com/?p=91</guid>

					<description><![CDATA[Hello everyone, This week’s blog topic would be about Test-Driven Development (TTD) as this is something we recently talked about in class and it didn’t take long for me to understand the importance of it. So Test-Driven Development (TTD) is a software development process that involves writing tests for your code before you write the […]]]></description>
										<content:encoded><![CDATA[<p>Hello everyone,</p>
<p>This week’s blog topic would be about Test-Driven Development (TTD) as this is something we recently talked about in class and it didn’t take long for me to understand the importance of it. So Test-Driven Development (TTD) is a software development process that involves writing tests for your code before you write the code. At first this was very confusing but after trying and actually working on it, I actually saw its purpose.  This approach has transformed the development of coding projects and has revolved around testing. While the more traditional way is concentrated around the waterfall model, which is a more linear approach where testing occurs near the end of a one long timeline. TDD makes testing an ongoing process, a reiterative process. It follows simple steps which cycle through the process. You first write the desired test for the desired feature, ensuring the test fails because the feature has not been written first and then you write enough code where it passes the test. This cycle repeats with further improvements and new features until the project is complete. Its core principle is rooted in Agile development, where it emphasizes iterative development with collaborative efforts based on customer feedback and the ability to change. The benefits of TTD is that it enhances collaboration through shared understanding of requirements, it is one of the best ways to detect bugs early on the development cycle of the project and it improves code design immensely. Because it is driven from testing it allows the code to evolve organically, it creates a program having the same format of coding throughout it without even trying too much. Due to its core principles, it also lowers the long term maintenance costs and this can be hugely beneficial for big projects that have a long lifespan. Not only does this blog explain what TTD is, the author also shares its best advice and practices for the developers who are trying to implement it in their work. You first start simple by writing a focused test on the fundamentals features of the project. Then you create more complex tests for specific situations. What I liked about this post and the reason why I chose it was that it has a good balance of theoretical concepts and also actual practical use. I appreciated how the author walked us over through the concepts and then immediately followed up with simple examples. This reinforces what you are trying to learn and through practice you test the concepts that you just learnt.</p>
<p>In conclusion, Test-Driven Development represents a new way in software development, where it highlights and prioritizes the importance of testing and the quality that it brings and you revolve it around it. By integrating testing into every step of development, TTD creates a strong and maintainable software program while supporting modern development practices. The development may be slow at first, but the long term benefits and the high quality in code make up for it.                 </p>
<p><strong>Source:</strong>                                                                                                       <a href="https://circleci.com/blog/test-driven-development-tdd/">https://circleci.com/blog/test-driven-development-tdd/</a></p></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">31748</post-id>	</item>
		<item>
		<title>Learning the Ropes: A Student’s Dive into QA Testing Best Practices</title>
		<link>https://zkcsblog.wordpress.com/2025/04/20/learning-the-ropes-a-students-dive-into-qa-testing-best-practices/</link>
		
		<dc:creator><![CDATA[Zachary Kimball]]></dc:creator>
		<pubDate>Mon, 21 Apr 2025 03:15:00 +0000</pubDate>
				<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Week 12]]></category>
		<guid isPermaLink="false">http://zkcsblog.wordpress.com/?p=38</guid>

					<description><![CDATA[I recently came across the article “Best Practices for Software Quality Assurance Testing” by KMS Technology. As a computer science student eager to understand the practical aspects of software development, this piece offered a clear roadmap of the QA process, breaking it down into four main stages: planning, test design, execution, and reporting. 1. Planning: […]]]></description>
										<content:encoded><![CDATA[</p>
<p>I recently came across the article <em>&#8220;Best Practices for Software Quality Assurance Testing&#8221;</em> by KMS Technology. As a computer science student eager to understand the practical aspects of software development, this piece offered a clear roadmap of the QA process, breaking it down into four main stages: planning, test design, execution, and reporting.</p>
<p><strong>1. Planning:</strong> The article emphasizes the importance of early-stage planning, including resource allocation, timeline estimation, and tool selection. This stage sets the foundation for the entire QA process.​</p>
<p><strong>2. Test Design:</strong> Here, the focus is on defining both functional and non-functional requirements. The article suggests determining which tests can be automated and which require manual intervention, ensuring comprehensive coverage of user scenarios.​<a href="https://kms-technology.com/testing/quality-assurance-testing.html?utm_source=chatgpt.com"  rel="noreferrer noopener">KMS Technology</a></p>
<p><strong>3. Test Execution:</strong> This phase involves running the designed tests and evaluating any defects or issues that arise. It&#8217;s a repetitive process, ensuring that each identified problem is addressed and retested.​</p>
<p><strong>4. Reporting and Maintenance:</strong> The final stage is about documenting findings, analyzing results, and ensuring that the software is ready for release. Continuous feedback loops between testers and developers are crucial here.​</p>
<p>Reflecting on these stages, I realize how often, in academic projects, we might overlook structured testing due to time constraints or lack of emphasis. However, this article highlights that integrating testing throughout the development cycle, rather than treating it as a final step, leads to more reliable and efficient software.</p>
<p>One key takeaway for me is the significance of clear communication and documentation. In group projects, miscommunication can lead to redundant work or overlooked bugs. By adopting a structured QA approach, we can mitigate these issues.</p>
<p>In conclusion, this article has provided me with a practical framework for approaching software testing. As I continue my studies and work on more complex projects, I plan to implement these best practices to enhance the quality and reliability of my work.</p>
<p>For those interested in a deeper dive, here&#8217;s the full article: <a class="" href="https://kms-technology.com/testing/quality-assurance-testing.html">Best Practices for Software Quality Assurance Testing</a>.</p></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://zkcsblog.wordpress.com">Zacharys Computer Science Blog</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Zachary Kimball">Zachary Kimball</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/0a04dcd58a6ea61b1e33b719a4d9e87dfc88d0d681da5d144cf5fcdfa6bdc1af?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">31744</post-id>	</item>
		<item>
		<title>Comparing Enterprise Testing to Consumer Testing</title>
		<link>https://debugducker.wordpress.com/2025/04/20/comparing-enterprise-testing-to-consumer-testing/</link>
		
		<dc:creator><![CDATA[debugducker]]></dc:creator>
		<pubDate>Mon, 21 Apr 2025 03:12:18 +0000</pubDate>
				<category><![CDATA[ai]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Week 12]]></category>
		<guid isPermaLink="false">http://debugducker.wordpress.com/?p=117</guid>

					<description><![CDATA[Hello, Debug Ducker here. Last post I made was discussing the developer prioritization of quality for an enterprise product compared to a consumer product. The topic got me thinking what other things does a developer need to be concern with when it comes to Enterprise software and consumer software. What ideas or planning needed when […]]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-image size-full"><img data-recalc-dims="1" decoding="async" data-attachment-id="126" data-permalink="https://debugducker.wordpress.com/2025/04/20/comparing-enterprise-testing-to-consumer-testing/pexels-photo-443378/" data-orig-file="https://debugducker.wordpress.com/wp-content/uploads/2025/04/pexels-photo-443378.jpeg" data-orig-size="1733,1300" 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="gray concrete buildings" data-image-description="" data-image-caption="&lt;p&gt;Photo by SevenStorm JUHASZIMRUS on &lt;a href=&quot;https://www.pexels.com/photo/gray-concrete-buildings-443378/&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-443378.jpeg?w=300" data-large-file="https://debugducker.wordpress.com/wp-content/uploads/2025/04/pexels-photo-443378.jpeg?w=1024" src="https://i0.wp.com/debugducker.wordpress.com/wp-content/uploads/2025/04/pexels-photo-443378.jpeg?w=625&#038;ssl=1" alt="" class="wp-image-126" /><figcaption class="wp-element-caption">Photo by SevenStorm JUHASZIMRUS on <a href="https://www.pexels.com/photo/gray-concrete-buildings-443378/" rel="nofollow">Pexels.com</a></figcaption></figure>
<p>Hello, Debug Ducker here. Last post I made was discussing the developer prioritization of quality for an enterprise product compared to a consumer product. The topic got me thinking what other things does a developer need to be concern with when it comes to Enterprise software and consumer software. What ideas or planning needed when it comes to the two.</p>
<p>First the differences are clear when it comes to developing and testing these types of software. For Consumer products you are developing for a large majority and prioritize the experience for an individual user. Enterprises are for mostly organization use, like a company. When making either one needs to think what is the needs for the software. Take consumer products such as photo editing, video editing, spreadsheets, etc. Enterprises product are specific to the organization that may need it to fill a specific purpose. That doesn&#8217;t mean that software that can help a business is always an enterprise software, some software is not just useful for the individual but for business like spreadsheets programs.</p>
<p>When it comes to developing the two products different mindsets and thoughts are needed. For consumer, you need to get into the consumers head and think what they may look for in the product. Probably not anything to specific to say but they may look for other things such as price and needs. Enterprises are different in the fact that they wouldn&#8217;t mind paying more and would want a degree of quality. I found that enterprise products tend to have more care put into them compare to consumer products but that is probably because a business wouldn&#8217;t want to upset a partner. Enterprise may want specifics that they hope the developers may be able to fill and it because of that is why software developers would work closely with business. Think of it as a bonus when it comes to working with Enterprise as it may demand more out of the developer but the advantage is if work closely, you may be able to get stuff done meeting their demands. </p>
<p>Testing for Enterprise software is a lot more complex to. I found some details online that list specific types to look out for. </p>
<ul class="wp-block-list">
<li>Functionality Testing
<ul class="wp-block-list">
<li>Testing to see if it passes functionality requirements</li>
</ul>
</li>
<li>Usability Testing
<ul class="wp-block-list">
<li>Test for optimal user experience </li>
</ul>
</li>
<li>Security Testing
<ul class="wp-block-list">
<li>Testing for vulnerabilities</li>
</ul>
</li>
<li>Performance Testing
<ul class="wp-block-list">
<li>Test to see how well it performance</li>
</ul>
</li>
<li>Integration Testing
<ul class="wp-block-list">
<li>test to see if different modules and applications and external system work with it</li>
</ul>
</li>
<li>Compliance and Regulatory Testing
<ul class="wp-block-list">
<li>Test to see if it passes legal and specific industry requirements</li>
</ul>
</li>
</ul>
<p>These are all the types of testing to look out for, when it comes to enterprises. Not to say the same can&#8217;t be done for consumers, though it is a lot more important when it comes to enterprise.</p>
<p>Thank you for your time, have a nice day.</p>
<p><em>The Ultimate Guide to Enterprise Software Testing &#8211; Testlio</em>, 3 Jan. 2025, testlio.com/blog/enterprise-software-testing/.</p>
<p>Nasnodkar, Sid. “Enterprise vs Consumer Product Management.” <em>Product School</em>, 9 Jan. 2023, productschool.com/blog/product-fundamentals/enterprise-vs-consumer-product-management.</p>
<p>Shields, Keith. “Enterprise Software Development vs. Regular Software Development.” <em>Custom Software Development and Mobile App Design</em>, Designli LLC, 1 Mar. 2025, designli.co/blog/enterprise-software-development-process.</p></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://debugducker.wordpress.com">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-443378.jpeg" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">31746</post-id>	</item>
		<item>
		<title>Static and Dynamic Testing</title>
		<link>https://anoonecs.wordpress.com/2025/04/20/static-and-dynamic-testing/</link>
		
		<dc:creator><![CDATA[anoone234]]></dc:creator>
		<pubDate>Mon, 21 Apr 2025 02:29:52 +0000</pubDate>
				<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Week 12]]></category>
		<guid isPermaLink="false">http://anoonecs.wordpress.com/?p=34</guid>

					<description><![CDATA[Recently, I have been learning a lot about testing code, specifically methods such as static and dynamic testing of code. For this blog post, I wanted to research deeper into static and dynamic testing methods, as well as their applications, especially given my limited experience with using them up until now. As for researching this […]]]></description>
										<content:encoded><![CDATA[<p>Recently, I have been learning a lot about testing code, specifically methods such as static and dynamic testing of code. For this blog post, I wanted to research deeper into static and dynamic testing methods, as well as their applications, especially given my limited experience with using them up until now. As for researching this topic, I came across a well made podcast titled, “Static Testing vs Dynamic Testing: What is the Difference?” by CTSS Academy on spotify. I found this podcast to be a perfect choice to aid in my research for the software quality assurance and testing course I am taking this semester, especially because of the speakers prior experience in a very relevant workplace that focused on software testing, and the manner in which they address their video to an intended audience of prospect software testers.&nbsp;</p>
<p>STATIC TESTING:&nbsp;</p>
<p>This involves looking at software without ever running it in the first place, much like looking at a blueprint. Static testing has a heavy emphasis on preventing bugs from existing in the first place, much like proofreading instructions that you have been given before investing time and resources into the task that would be unrecoverable. Initial requirement documents are involved here, as well as all other outlines for how the project will go about being constructed in the first place. Source code can also be included here, as well as test cases and scripts needed to run when testing the software, really anything generated when developing the software, except running the code itself. The most basic form of static review could be considered “informal review” or something as simple as a coworker looking over another co-worker&#8217;s code and giving feedback. Technical review is more formal and is essentially a peer-review of the technical procedures or specifications taken. Static testing also includes “walkthroughs” or presentations of a project to peers, including step-by-step processes taken when creating the project. Static code review or white-box testing itself could include specifically looking at the code written and making sure that it follows the proper syntax of whatever language it is written in, as well as looking for any obvious security flaws.</p>
<p>DYNAMIC TESTING:</p>
<p>This involves executing a software or code and understanding how it processes information and behaves. Dynamic testing is all about executing code and tracking how it behaves and responds to certain situations, more specifically whether it is performing efficiently as it should, while also using the proper amount of data it should be. If static testing refers to whether or not we are building something the right way, dynamic testing refers to whether or not we are building the right thing. Unit testing is a basic place to start with dynamic testing, as it encompasses individual units of code apart from one another, using unit tests to make sure that one job of that part of the code is functioning properly. Integration testing is one step more complex than unit testing, involving multiple unit tests and the manners in which they interact with each other. System testing refers to testing the entire system of code and how it functions as a single machine, assessing whether it meets all criteria established. Security testing, performance testing, or any other form of testing that would require running the software to figure out are all considered to be dynamic testing as well.</p></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://anoonecs.wordpress.com">CS Blogs with Aidan</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by anoone234">anoone234</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/451ccf9efd7f40382dca3e1d28a7e27357b257d527bf0ccd84e32083b7dc2582?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">31735</post-id>	</item>
		<item>
		<title>Test Driven Development Lifecycle</title>
		<link>https://annafrazier4.wordpress.com/2025/04/20/test-driven-development-lifecycle/</link>
		
		<dc:creator><![CDATA[Adrianna Frazier]]></dc:creator>
		<pubDate>Sun, 20 Apr 2025 14:42:44 +0000</pubDate>
				<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Week 12]]></category>
		<guid isPermaLink="false">http://annafrazier4.wordpress.com/?p=34</guid>

					<description><![CDATA[Today’s blog is about Test Driven Development or TDD. In this video titled TDD – Test Driven Development ( Red &#124; Green &#124; Refactor ), the youtube poster details the TDD lifecycle, its importance, and an example of its application. Throughout the video, the poster highlights the advantages of TDD and why it may be […]]]></description>
										<content:encoded><![CDATA[</p>
<p class="has-small-font-size">Today&#8217;s blog is about Test Driven Development or TDD. In this video titled <em>TDD &#8211; Test Driven Development ( Red | Green | Refactor ),</em> the youtube poster details the TDD lifecycle, its importance, and an example of its application. Throughout the video, the poster highlights the advantages of TDD and why it may be the best way to help design well implemented code when it comes to code quality and code coverage.&nbsp;</p>
<p class="has-small-font-size">I chose this video because I wanted to expand my knowledge on the concept of TDD in order to help with my current homework assignment. This particular concept was tough for me to grasp since I was not in class for the POGIL assignment and after reading information on it in the textbook, I felt I needed a more visual example of someone working through the TDD lifecycle from start to finish. It was also important to find a video that explained this using jUNIT.</p>
<p class="has-small-font-size">In order to write your tests it is important to understand the specifications provided to you and account for all the ways the test could fail. One of the most important things I have learned from this video is the concept of the Red, Green, and Refractory stages of TDD. The Red stage signifies the first step in this testing strategy, being making your test fail. Before the programmer writes any code in a method that would describe its functionality, the person must first write a test that is testing a specification, but then fails due to the functionality having yet to be written. From there the programmer will write simple code that will make the pointed test pass, thus satisfying the ‘Green’ stage of TDD. From there, the youtuber continues to ‘Refactor’s’ the code to improve it without changing its behavior. He does this by making sure the behavior of the method will cover all failure possibilities.&nbsp; After looking over a handful of videos on this topic, this particular video was the most beneficial because it was straightforward, used a very basic test example, as well as showing different ways a person could approach this type of testing. I also appreciated his inclusion about test coverage and how this TDD method helps achieve 100% coverage. After having watched this video I have taken another look at my team&#8217;s code from the POGIL assignment that I missed and now have a better understanding of how they completed the assignment.&nbsp; I will be applying this poster&#8217;s methods and knowledge to my upcoming homework assignment on this topic.</p>
<p class="has-small-font-size">Source: <a href="https://www.youtube.com/watch?v=UzRa5cLma0g">https://www.youtube.com/watch?v=UzRa5cLma0g</a></p>
<p class="has-small-font-size">

<p class="syndicated-attribution"><em>From the blog <a href="https://annafrazier4.wordpress.com">Anna The Dev</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by Adrianna Frazier">Adrianna Frazier</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/6a4db6b6732ede85bf372064e09b1238aad7efdd03ee7aa87b29181897319a8e?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">45396</post-id>	</item>
		<item>
		<title>Week 12- Test Driven Development</title>
		<link>https://alidanordquist.wordpress.com/2025/04/20/week-12-test-driven-development/</link>
		
		<dc:creator><![CDATA[alidanordquist]]></dc:creator>
		<pubDate>Sun, 20 Apr 2025 04:10:42 +0000</pubDate>
				<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Week 12]]></category>
		<guid isPermaLink="false">http://alidanordquist.wordpress.com/?p=39</guid>

					<description><![CDATA[During week 12, we learned about test driven development. Test driven development is a testing method that outlines what functions need to be tested, writes the tests, then writes the code. It is an iterative process that goes through each test one at a time, building on what is already written.  In class, we practiced […]]]></description>
										<content:encoded><![CDATA[<p>During week 12, we learned about test driven development. Test driven development is a testing method that outlines what functions need to be tested, writes the tests, then writes the code. It is an iterative process that goes through each test one at a time, building on what is already written.&nbsp;</p>
<p>In class, we practiced the method by building a Mars Rover. We read what the rover should do and made a list of what we needed to test and build. We started with the easiest thing on the list and wrote a test for it. Then, we wrote the minimum amount of code to make the test run. We tweaked the test block, if it needed to be, and then ran the single test. Next, we repeated the process for the next easiest thing on the list. We will repeat the process until all of the tests are written.&nbsp;</p>
<p>Test driven development focuses on just the tests before the actual code is written. It was a little confusing at first to think about how to write a test before the code, but once it clicked, it was easy. </p>
<p>I found a website on test driven development and it described the process in a slightly different way. BrowserStack explains test driven development as a “red-green-refactor” cycle. The red phase is when just the test is written and it doesn’t pass because there’s no code. The green phase is when the bare minimum code is written for the test to run and it passes. The refactor phase is tweaking the tests and code so everything runs and passes. The cycle is run through every time a new test is written and repeats until all of the tests are written and pass. </p>
<p>Test driven development is a very useful method for debugging. Since the tests are being run at every new addition, bugs are found as they appear and do not slip into the cracks as easily. The method also is very efficient and allows the programmer to easily add new functions later on in development. The iterative process is easy to maintain for the programmer, and provides a much larger testing scope than other methods.&nbsp;</p>
<p>I liked working with test driven development. I think the process is very organized and straightforward. I would definitely use this in the future for projects that require thorough tests and with functions that build on each other. </p>
<p>Source referenced: <a href="https://www.browserstack.com/guide/what-is-test-driven-development">https://www.browserstack.com/guide/what-is-test-driven-development</a></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://alidanordquist.wordpress.com">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">31715</post-id>	</item>
		<item>
		<title>Understanding Smoke Testing in Software Development</title>
		<link>https://mariadelia.blog/2025/04/17/understanding-smoke-testing-in-software-development/</link>
		
		<dc:creator><![CDATA[Maria Delia]]></dc:creator>
		<pubDate>Fri, 18 Apr 2025 01:44:00 +0000</pubDate>
				<category><![CDATA[CS-443]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Week 12]]></category>
		<guid isPermaLink="false">http://mariadelia.blog/?p=54</guid>

					<description><![CDATA[In software development, a build has to be stable before further more comprehensive testing in a project so that the project is successful. One of the ways of guaranteeing this is smoke testing, which is otherwise known as Build Verification Testing or Build Acceptance Testing. Smoke testing is an early check-point to verify that the major features of the software are functioning as desired before other more comprehensive testing is done. What is Smoke Testing?Smoke testing is a form of software testing that involves executing a quick and superficial test of the most crucial features of an application to determine whether the build is stable enough for further testing. It […]]]></description>
										<content:encoded><![CDATA[<p>In software development,&nbsp;a build&nbsp;has&nbsp;to be&nbsp;stable before&nbsp;further&nbsp;more&nbsp;comprehensive&nbsp;testing&nbsp;in&nbsp;a&nbsp;project&nbsp;so that&nbsp;the project&nbsp;is successful. One&nbsp;of&nbsp;the&nbsp;ways&nbsp;of guaranteeing&nbsp;this is&nbsp;smoke testing,&nbsp;which&nbsp;is otherwise&nbsp;known as Build Verification Testing or Build Acceptance Testing.&nbsp;Smoke&nbsp;testing&nbsp;is&nbsp;an early&nbsp;check-point&nbsp;to verify&nbsp;that&nbsp;the&nbsp;major&nbsp;features&nbsp;of the software&nbsp;are&nbsp;functioning&nbsp;as&nbsp;desired&nbsp;before&nbsp;other&nbsp;more&nbsp;comprehensive&nbsp;testing&nbsp;is&nbsp;done.</p>
<p>What is Smoke Testing?<br />Smoke testing is a&nbsp;form of&nbsp;software testing&nbsp;that involves&nbsp;executing&nbsp;a quick and&nbsp;superficial&nbsp;test&nbsp;of the most&nbsp;crucial&nbsp;features of an application to determine whether the build is stable enough for further testing. It is a&nbsp;minimum&nbsp;set of tests&nbsp;created&nbsp;to&nbsp;verify&nbsp;if&nbsp;the&nbsp;core&nbsp;features&nbsp;of the application&nbsp;are&nbsp;functioning. Smoke tests are&nbsp;generally&nbsp;executed&nbsp;once&nbsp;a new build is&nbsp;promoted&nbsp;to a quality assurance environment, and they act as an early&nbsp;warning&nbsp;system&nbsp;of whether the application is ready for&nbsp;further&nbsp;testing or&nbsp;requires&nbsp;correction&nbsp;immediately.</p>
<p>Important&nbsp;Features&nbsp;of Smoke Testing</p>
<p>-Level of Testing: Smoke tests&nbsp;are&nbsp;interested&nbsp;in&nbsp;the most important and&nbsp;basic&nbsp;features of the software, without&nbsp;exploring&nbsp;each&nbsp;and&nbsp;every&nbsp;functionality.<br />-Automation:&nbsp;Automated&nbsp;smoke testing&nbsp;is a common&nbsp;routine,&nbsp;especially&nbsp;in&nbsp;the&nbsp;case&nbsp;of&nbsp;time&nbsp;limitations,&nbsp;to&nbsp;perform&nbsp;quick, repeatable tests.<br />-Frequency: Smoke testing is&nbsp;normally&nbsp;run&nbsp;after every build or significant&nbsp;change in&nbsp;code&nbsp;in&nbsp;order&nbsp;to allow&nbsp;early&nbsp;identification&nbsp;of major issues.<br />-Time Management:&nbsp;The&nbsp;testing&nbsp;itself&nbsp;is quick&nbsp;in nature,&nbsp;so&nbsp;it is a&nbsp;valuable time-saver&nbsp;by&nbsp;catching&nbsp;critical issues early.<br />-Environment: Smoke testing is typically&nbsp;performed&nbsp;in an environment that&nbsp;mimics&nbsp;the production environment&nbsp;so&nbsp;that&nbsp;test results are as realistic as possible.</p>
<p>Goal of Smoke Testing</p>
<p>The primary objectives of smoke testing&nbsp;are:</p>
<p>-Resource Optimization:&nbsp;Don&#8217;t&nbsp;waste&nbsp;resources&nbsp;and&nbsp;time&nbsp;on testing if core functionalities are broken.<br />-Early Detection of Issues:&nbsp;Identify any&nbsp;significant&nbsp;issues&nbsp;early&nbsp;so&nbsp;that they can be fixed at a quicker pace.<br />-Refined&nbsp;Decision-Making:&nbsp;Present&nbsp;an&nbsp;open&nbsp;decision&nbsp;schema&nbsp;on whether&nbsp;or not&nbsp;the build is ready&nbsp;to&nbsp;go to thorough,&nbsp;detailed&nbsp;testing.<br />-Continuous Integration:&nbsp;Make&nbsp;every&nbsp;new build&nbsp;meet&nbsp;basic quality&nbsp;standards&nbsp;before it is&nbsp;added&nbsp;to&nbsp;the&nbsp;master&nbsp;codebase.<br />-Pragmatic&nbsp;Communication:&nbsp;Give&nbsp;rapid&nbsp;feedback to development teams,&nbsp;allowing&nbsp;them to communicate&nbsp;clearly&nbsp;about&nbsp;build stability.</p>
<p><strong>Types of Smoke Testing</strong><br />There are several types of smoke&nbsp;tests&nbsp;based on&nbsp;methodology&nbsp;chosen&nbsp;and&nbsp;setting&nbsp;where&nbsp;it&nbsp;is&nbsp;put&nbsp;to practice:<br />-Manual Testing:&nbsp;Test&nbsp;cases&nbsp;are&nbsp;written&nbsp;and&nbsp;executed&nbsp;manually&nbsp;for each build&nbsp;by testers.<br />-Automated Testing:&nbsp;Automation&nbsp;tools&nbsp;make&nbsp;the&nbsp;process&nbsp;work&nbsp;by&nbsp;itself&nbsp;best&nbsp;used in situations of&nbsp;tight&nbsp;deadline projects.<br />-Hybrid Testing:&nbsp;Combines&nbsp;a&nbsp;mixture&nbsp;of&nbsp;automated&nbsp;as&nbsp;well&nbsp;as&nbsp;manual&nbsp;tests&nbsp;for&nbsp;capitalizing&nbsp;on both&nbsp;the&nbsp;pros&nbsp;of&nbsp;each&nbsp;methodology.<br />Daily Smoke Testing: Conducted&nbsp;on a&nbsp;daily&nbsp;basis, especially in projects&nbsp;with&nbsp;frequent builds and continuous integration.<br />Acceptance Smoke Testing:&nbsp;Specifically&nbsp;focused on verifying whether the build meets the&nbsp;key&nbsp;acceptance criteria&nbsp;defined&nbsp;by stakeholders.<br />UI Smoke Testing: Tests only the user interface&nbsp;features&nbsp;of an application to&nbsp;verify&nbsp;whether&nbsp;basic&nbsp;interactions are working.</p>
<p><strong>Applying Smoke Testing at&nbsp;Various&nbsp;Levels</strong><br />Smoke testing can be applied at various levels of software testing:<br />Acceptance Testing Level:&nbsp;Ensures&nbsp;that the build meets&nbsp;minimum&nbsp;acceptance criteria&nbsp;established&nbsp;by the&nbsp;stakeholders&nbsp;or&nbsp;client.<br />System Testing Level: Ensures that the&nbsp;system&nbsp;as&nbsp;a whole behaves&nbsp;as expected&nbsp;when&nbsp;all modules&nbsp;work&nbsp;together.<br />Integration Testing Level:&nbsp;Ensures&nbsp;that&nbsp;modules that have been&nbsp;integrated&nbsp;work&nbsp;and&nbsp;communicate&nbsp;as&nbsp;expected&nbsp;when combined.</p>
<p><strong>Advantages of Smoke Testing</strong><br />Smoke testing&nbsp;possesses&nbsp;several advantages, including:<br />Quick Execution: It is easy and&nbsp;quick&nbsp;to&nbsp;run,&nbsp;and&nbsp;hence&nbsp;ideal for frequent builds.<br />Early Detection: It helps in&nbsp;defect&nbsp;detection&nbsp;in the initial stage, preventing&nbsp;wasting&nbsp;money&nbsp;on faulty builds.<br />Improved&nbsp;Quality of&nbsp;Software: By detecting&nbsp;the&nbsp;issues at&nbsp;the&nbsp;initial&nbsp;stage, smoke testing&nbsp;allows&nbsp;for&nbsp;improved&nbsp;software&nbsp;quality.<br />Risk&nbsp;of&nbsp;Failure&nbsp;is&nbsp;Minimized:&nbsp;Detecting&nbsp;core&nbsp;faults&nbsp;in&nbsp;earlier&nbsp;phases&nbsp;minimizes&nbsp;failure&nbsp;risk&nbsp;at&nbsp;subsequent&nbsp;testing&nbsp;phases.<br />Time and Effort&nbsp;Conservation:&nbsp;Time&nbsp;as&nbsp;well&nbsp;as&nbsp;effort&nbsp;is&nbsp;conserved&nbsp;as&nbsp;it prevents futile&nbsp;testing&nbsp;within&nbsp;unstable builds.</p>
<p><strong>Disadvantages of Smoke Testing</strong><br />Although&nbsp;smoke testing&nbsp;is&nbsp;useful in&nbsp;many&nbsp;respects, it&nbsp;has&nbsp;some disadvantages too:<br />Limited Coverage: It&nbsp;checks&nbsp;only&nbsp;the most critical functions&nbsp;and&nbsp;doesn&#8217;t cover&nbsp;other potential issues.<br />Manual Testing Drawbacks:&nbsp;Manually, it&nbsp;could&nbsp;be time-consuming, especially for larger projects.<br />Inadequate for Negative Tests: Smoke testing&nbsp;typically&nbsp;doesn&#8217;t&nbsp;involve&nbsp;negative testing or invalid input scenarios.<br />Minimal Test Cases: Since it&nbsp;only&nbsp;checks&nbsp;the&nbsp;basic&nbsp;functionality, it may&nbsp;fail&nbsp;to&nbsp;identify all possible issues.</p>
<p>Conclusion<br />In conclusion, smoke testing is an&nbsp;important&nbsp;practice&nbsp;at&nbsp;the early stages of software development. It&nbsp;decides&nbsp;whether a build is stable enough&nbsp;to go&nbsp;for further testing, saving time and resources. By identifying major issues early in the development&nbsp;stage, it&nbsp;facilitates&nbsp;an&nbsp;efficient and&nbsp;productive&nbsp;software testing process. However, it&nbsp;should&nbsp;be&nbsp;remembered&nbsp;that smoke testing is not exhaustive and&nbsp;has&nbsp;to&nbsp;be&nbsp;supported&nbsp;by other&nbsp;forms of&nbsp;testing&nbsp;in&nbsp;order&nbsp;to ensure&nbsp;complete&nbsp;quality assurance.&nbsp;</p>
<p><strong>Personal Reflection</strong></p>
<p>Looking&nbsp;at&nbsp;the concept of smoke testing, I&nbsp;view&nbsp;the importance of catching issues early in the software development process.<br />It&#8217;s easy to get&nbsp;swept&nbsp;up in the excitement of&nbsp;rolling&nbsp;out&nbsp;new features and&nbsp;fully&nbsp;testing them, but if the foundation&nbsp;is&nbsp;unstable, all the subsequent tests and&nbsp;optimizations&nbsp;can&nbsp;be&nbsp;pointless. Smoke testing, in this sense, serves as a safety net,&nbsp;getting&nbsp;the critical functions&nbsp;running&nbsp;before&nbsp;delving&nbsp;further&nbsp;into&nbsp;more&nbsp;rigorous&nbsp;tests.&nbsp;I think the idea of early defect detection resonates with my own&nbsp;working&nbsp;style.</p>
<p>As I like to&nbsp;fix&nbsp;small issues&nbsp;as&nbsp;they&nbsp;arise&nbsp;rather than letting them&nbsp;escalate&nbsp;into&nbsp;big&nbsp;problems, smoke testing allows development teams to&nbsp;solve&nbsp;&#8220;show-stoppers&#8221;&nbsp;early on,&nbsp;preventing&nbsp;wasted&nbsp;time, effort, and resources&nbsp;in&nbsp;the&nbsp;future.&nbsp;Though&nbsp;it&nbsp;does&nbsp;not&nbsp;pick up&nbsp;everything, its simplicity and&nbsp;the&nbsp;fact that it executes fast&nbsp;can&nbsp;save&nbsp;developers&nbsp;from&nbsp;wasted&nbsp;time&nbsp;spent&nbsp;on testing a&nbsp;defective&nbsp;product,&nbsp;thus&nbsp;ending&nbsp;up with&nbsp;a&nbsp;smooth&nbsp;and efficient workflow.&nbsp;The&nbsp;process, especially in a&nbsp;scenario&nbsp;where&nbsp;there are frequent&nbsp;new builds&nbsp;being&nbsp;rolled&nbsp;out, seems&nbsp;imperative&nbsp;to&nbsp;maintain&nbsp;a&nbsp;rock-solid and&nbsp;healthy&nbsp;product.<br />The benefits of early problem detection not only&nbsp;make&nbsp;software&nbsp;better,&nbsp;but also&nbsp;stimulate&nbsp;a positive&nbsp;feedback&nbsp;loop&nbsp;of&nbsp;constant&nbsp;improvement&nbsp;between&nbsp;the development team.&nbsp;</p></p>

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

		<post-id xmlns="com-wordpress:feed-additions:1">31674</post-id>	</item>
		<item>
		<title>Agile vs Waterfall</title>
		<link>https://compsci99.wordpress.com/2024/12/01/agile-vs-waterfall/</link>
		
		<dc:creator><![CDATA[hndaie]]></dc:creator>
		<pubDate>Mon, 02 Dec 2024 00:28:44 +0000</pubDate>
				<category><![CDATA[CS-348]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[Week 12]]></category>
		<guid isPermaLink="false">http://compsci99.wordpress.com/?p=26</guid>

					<description><![CDATA[Week 12 – 11/30/2024 Agile Versus Waterfall: Picking the Right Tool for the Job As a senior in college, I’m starting to think more seriously about what it will actually be like to work on projects in the real world. I recently read a blog post that compared and contrasted Agile and Waterfall project management […]]]></description>
										<content:encoded><![CDATA[<p><em>Week 12 &#8211; 11/30/2024</em></p>
<h3 class="wp-block-heading">Agile Versus Waterfall: Picking the Right Tool for the Job</h3>
<p>As a senior in college, I&#8217;m starting to think more seriously about what it will actually be like to work on projects in the real world. I recently read a blog post that compared and contrasted Agile and Waterfall project management methodologies, and it really helped me understand the importance of choosing the right approach for different types of projects. This aligns perfectly with what we&#8217;ve been discussing in my class about the need for both strategic planning and adaptability.</p>
<p>The blog post <a href="https://clearcode.cc/blog/agile-vs-waterfall-method/">“Agile vs. Waterfall: Understanding the Differences”</a> by <a href="https://clearcode.cc/author/msweeney/">Mike Sweeney</a> explained that Waterfall is a very linear, sequential approach, where each phase of the project must be completed before moving on to the next. It&#8217;s kind of like building a house – you need to lay the foundation before you can put up the walls. This makes Waterfall a good choice for projects where the requirements are well-defined and unlikely to change, like in construction or manufacturing. In these industries, making changes mid-project can be super costly and impractical, so having a clear plan from the outset is essential.</p>
<p>Agile, on the other hand, is all about flexibility and iteration. The project is broken down into short cycles called sprints, and the team continuously reevaluates priorities and adjusts its approach based on feedback and new information. This makes Agile a great fit for projects where the requirements are likely to evolve over time, such as software development. In software development, client needs and market trends can change rapidly, so being able to adapt is crucial.</p>
<p>One of the biggest takeaways for me was the realization that choosing the right methodology is crucial for project success. I used to think that being flexible was always the best approach, but now I understand that structure and predictability can be equally important in certain situations. The key is to carefully assess the project requirements and choose the methodology that best aligns with those needs.</p>
<p>As I prepare to enter the professional workspace, I feel much more confident in my ability to approach projects strategically. Thanks to this blog post, I now have a better understanding of when to use Agile versus Waterfall. For instance, if I&#8217;m working on a software project that involves a lot of client interaction, I&#8217;d probably lean towards Agile. But if I&#8217;m managing a marketing campaign with well-defined objectives, Waterfall might be a more appropriate choice.</p>
<p>The real-world examples provided in the blog post were super helpful in illustrating how these methodologies are applied in different industries. This practical insight will definitely be valuable as I transition from the academic world to the professional world.</p>
<p><strong><em>Blog link</em></strong>:<em> <a href="https://clearcode.cc/blog/agile-vs-waterfall-method/">https://clearcode.cc/blog/agile-vs-waterfall-method/</a></em></p></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://compsci99.wordpress.com">CS@Worcester – computingDiaries</a> by <a href="https://cs.worcester.edu/author/0/" title="Read other posts by hndaie">hndaie</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/49256ce7f78ac97d93813ff35d5a8651f1de6e90d429290fc857d14ad200b0b3?s=96&#038;d=identicon&#038;r=G" length="0" type="" />

		<post-id xmlns="com-wordpress:feed-additions:1">26517</post-id>	</item>
		<item>
		<title>Why Git</title>
		<link>https://debugducker.wordpress.com/2024/12/01/why-git/</link>
		
		<dc:creator><![CDATA[debugducker]]></dc:creator>
		<pubDate>Sun, 01 Dec 2024 21:37:03 +0000</pubDate>
				<category><![CDATA[#git]]></category>
		<category><![CDATA[CS-348]]></category>
		<category><![CDATA[CS@Worcester]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Week 12]]></category>
		<guid isPermaLink="false">http://debugducker.wordpress.com/?p=45</guid>

					<description><![CDATA[Why is it always git The version control system that every programmer uses. Even in my computer science class, we had lectures dedicated to Git, the commands in Git, how Git is used, what Git is used for, and just so much Git. The funny thing, is there are other version control systems such as […]]]></description>
										<content:encoded><![CDATA[<p>Why is it always git</p>
<figure class="wp-block-image size-full"><img data-recalc-dims="1" decoding="async" data-attachment-id="52" data-permalink="https://debugducker.wordpress.com/2024/12/01/why-git/pexels-photo-11035539/" data-orig-file="https://debugducker.wordpress.com/wp-content/uploads/2024/12/pexels-photo-11035539.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="person holding a small paper" data-image-description="" data-image-caption="&lt;p&gt;Photo by RealToughCandy.com on &lt;a href=&quot;https://www.pexels.com/photo/person-holding-a-small-paper-11035539/&quot; rel=&quot;nofollow&quot;&gt;Pexels.com&lt;/a&gt;&lt;/p&gt;
" data-medium-file="https://debugducker.wordpress.com/wp-content/uploads/2024/12/pexels-photo-11035539.jpeg?w=300" data-large-file="https://debugducker.wordpress.com/wp-content/uploads/2024/12/pexels-photo-11035539.jpeg?w=1024" src="https://i0.wp.com/debugducker.wordpress.com/wp-content/uploads/2024/12/pexels-photo-11035539.jpeg?w=625&#038;ssl=1" alt="" class="wp-image-52" /><figcaption class="wp-element-caption">Photo by RealToughCandy.com on <a href="https://www.pexels.com/photo/person-holding-a-small-paper-11035539/" rel="nofollow">Pexels.com</a></figcaption></figure>
<p>The version control system that every programmer uses. Even in my computer science class, we had lectures dedicated to Git, the commands in Git, how Git is used, what Git is used for, and just so much Git. The funny thing, is there are other version control systems such as Mercurial, but they aren&#8217;t ever brought up they are there but feel overshadowed by git. So the question I am asking now is why Git. So I did some investigating.</p>
<p>The question: what does Git do that is so special compared to other version control systems? Now version control systems can do all sorts of things such as allowing developers to see what has been changed, enable collaborative work, and branch and merge changes to a repo. If multiple can do this, then what does git do differently? An article from Geeks For Geeks lists several. Git can be worked on offline and is resilient because multiple developers can have copies of the repo, and any local repo can be used to restore a project. It also comes with conflict resolution that&#8217;s allows one to handle merge conflicts by providing tools to solve those problems. So what about the other systems. Well, GFG got that covered. Here are some comparisons.</p>
<p>Subversion</p>
<p>Compared to Git, the architecture is centralized, one single central repo</p>
<p>Fewer branching and merging options</p>
<p>Better performance</p>
<p>Mercurial</p>
<p>Smaller community compared to Git</p>
<p>Not as much flexibility as Git</p>
<p>Perforce</p>
<p>Can handle very large code base</p>
<p>Not as flexible as Git in terms of merging</p>
<p>Git is Open Source and Free, while Perforce isn&#8217;t</p>
<p>That is a decent amount of reasons to use Git over other VCS. I think the community part is important for such a popular system, because if you aren&#8217;t too familiar with the commands that come with Git, then you have a lot of people that can help. There are a lot of forums and articles about Git tools out there if you ever need it.</p>
<p>I also feel that the collaborative aspect of Git is, very helpful. A lot of projects have a lot of people working on them, so having something like Git that can handle it and make the task easier is great. Also, the fact that it is accessible helps with that too.</p>
<p>Git being so popular makes a lot of sense now, accessibility, community, and collaboration are what a lot of developers require, and I have to say Git provides that well.</p>
<p>GeeksforGeeks. (2024, September 19). <em>Git vs. other version control systems: Why Git stands out?</em> <a href="https://www.geeksforgeeks.org/git-vs-other-version-control-systems-why-git-stands-out/" rel="nofollow">https://www.geeksforgeeks.org/git-vs-other-version-control-systems-why-git-stands-out/</a></p>

<p class="syndicated-attribution"><em>From the blog <a href="https://debugducker.wordpress.com">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/2024/12/pexels-photo-11035539.jpeg" length="0" type="" />

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