<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Glassy Blog]]></title><description><![CDATA[Glassy Blog]]></description><link>https://read.heyglassy.co</link><generator>RSS for Node</generator><lastBuildDate>Tue, 21 Apr 2026 07:49:44 GMT</lastBuildDate><atom:link href="https://read.heyglassy.co/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[What makes a good tester]]></title><description><![CDATA[On Testing For Everyone, we talk a lot about why people should test their applications, but we haven’t talked about the testers themselves. Testing, like the wider programming world, has a semi-steep learning curve. Like most jobs in software develop...]]></description><link>https://read.heyglassy.co/what-makes-a-good-tester</link><guid isPermaLink="true">https://read.heyglassy.co/what-makes-a-good-tester</guid><category><![CDATA[Testing]]></category><dc:creator><![CDATA[Christian Glassiognon]]></dc:creator><pubDate>Tue, 19 Oct 2021 03:52:16 GMT</pubDate><content:encoded><![CDATA[<p>On Testing For Everyone, we talk a lot about why people should test their applications, but we haven’t talked about the testers themselves. Testing, like the wider programming world, has a semi-steep learning curve. Like most jobs in software development, It’s overwhelming to learn about the various testing frameworks, techniques, and tools you’ll use. However, testers have the unique challenge of gauging how well they’re doing as a tester. While developers measure their effectiveness by the quality of what they’ve built, testers don’t have that same luxury. Testing is preventative, so the absence of bugs is typically the closest thing to “quality” testers can measure. Instead of gauging by a lack of bugs, which is unsatisfactory, testers should measure themselves by their quality of communication and documentation and their understanding of testing techniques and tools.</p>
<p>Regardless of your team’s size, a tester will communicate with all members, from developers to project managers. Additionally, some testers will perform demonstrations of new features to other members of their organization. These factors make a tester able to communicate crucial to completing the job well. However, good communication doesn’t just mean being willing to ask questions or being polite; it also means adjusting your communication to your specific audience. For example, if I’m presenting a feature to a stakeholder from a different team, I use general language to explain how the feature works. Explaining concepts with general language ensures all team members are on the same page and is just one way of communicating well as a tester. </p>
<p>Documentation, like communication, affects the developers, project managers, and stakeholders around you. Many don’t consider testing documentation an essential part of documenting your software, but it is. This documentation is a window into how services work and the thoughts process of your team at that time. I’ve often used my testing documentation to show how the software should and shouldn’t work when demoing a feature. Testing documentation should be clear enough that anyone should be able to read it. Being able to write good documentation is a crucial aspect of being a good tester.</p>
<p>Unit, Functional, Integration, End to End, Beta, and more testing techniques exist; knowing which ones to use where is essential. A carpenter doesn’t use a hammer to screw in a screw, so why should a tester use the wrong technique to test a test case. Testing shouldn’t be a massively time-consuming process, but it often is because multiple tests cover the same test case. This duplication of test cases occurs because teams don’t understand what technique they should use and why. A good understanding of testing techniques saves you time, headaches and makes you a good tester.</p>
<p>As more testing becomes automated, many new products now exist for testing. Tools like Rainforest QA, Percy, and Postman all work wonderfully for their specific purpose of no-code, visual, and API testing, respectively. However, like testing techniques, many of these tools are misused and become headaches. Therefore, articulating to stakeholders what tools work best can save your company money and time. Additionally, it’s essential to know when no tools, or manual testing, is best. Understanding what tools exist and how to use them best is the mark of a good tester. </p>
<p>Testing is a preventative measure in building software, meaning it can be hard to gauge how well a tester performs. Unlike development, it can be challenging for testers to gauge how well they are doing. Developers can measure their skill based on the quality of the software they’ve built; testers don’t have that same privilege. However, every good tester has solid communication and documentation skills and a thorough understanding of testing techniques and tools.</p>
]]></content:encoded></item><item><title><![CDATA[Why you should use Jenkins for CI/CD]]></title><description><![CDATA[Jenkins is a widely used, industry-leading automation server that enables both startups and enterprise teams to create continuous integration and deployment (CI/CD) pipelines. CI/CD ensures the many changes made to code are tested and deployed to the...]]></description><link>https://read.heyglassy.co/why-you-should-use-jenkins-for-cicd</link><guid isPermaLink="true">https://read.heyglassy.co/why-you-should-use-jenkins-for-cicd</guid><category><![CDATA[Devops]]></category><category><![CDATA[ci-cd]]></category><dc:creator><![CDATA[Christian Glassiognon]]></dc:creator><pubDate>Thu, 14 Oct 2021 04:24:33 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1634183745017/jAO2esPMP.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Jenkins is a widely used, industry-leading automation server that enables both startups and enterprise teams to create continuous integration and deployment (CI/CD) pipelines. CI/CD ensures the many changes made to code are tested and deployed to the user reliably and automatically. Jenkins, named Hudson initially, does this well because of its flexibility in scripting and deployment and has wide-ranging plugins. </p>
<h1 id="what-is-cicd">What is CI/CD</h1>
<p>Continuous integration and deployment (CI/CD) is a practice created during the transition between agile and waterfall software development methodologies. During the waterfall era of building software, every step was done sequentially and siloed to individual departments. First, the planners defined all the features, then the developers built said features, then the entire software was tested and finally deployed to the world. In the agile era, building software happens in smaller chunks, and teams perform planning, development, and testing in parallel.  Because these smaller chunks of code are being deployed to customers constantly, teams need a reliable solution to deploying code. The typical practice developers deploying on a Friday night were prone to human error, time-consuming, and taxing. Automated solutions, like Jenkins, solve this problem.</p>
<p>CI/CD tools like Jenkins allow you to build a CI/CD pipeline by setting up a server, connecting to your repository and resources, and running specific instructions on testing, building, and deploying the application. So now you have a reliable and repeatable tool to integrate and deploy code to your production environment from your repository. In addition, CI/CD pipelines are customizable. Every time someone pushes code or creates a pull request in the repository, Jenkins can detect and run a pipeline, ensuring developers get instant feedback on the code they're writing. </p>
<h1 id="why-should-you-use-jenkins">Why should you use Jenkins</h1>
<h2 id="flexibility">Flexibility</h2>
<p>Jenkins is instrumental in the CI/CD space because of its sheer flexibility; it allows you to control every aspect of your server, like where it's hosted, the type of security used to access it, and how you create a pipeline script. Furthermore, Jenkins is platform agnostic; integrate it into any version control system, any cloud computing platform, or run it on any codebase it will work perfectly. This flexibility in deployment also allows you to set up Jenkins in environments that must follow strict security requirements or regulations like the International Traffic in Arms Regulations (ITAR) set by the U.S Government. </p>
<p>Many would think that this level of control requires a complicated setup and scripts to run correctly, but not with Jenkins. Setting Jenkins up can be done with a few clicks on your preferred cloud computing platform or manually in less than an hour. Using Jenkins Pipelines can be done using scripts or through Blue Ocean, a visual pipeline editor designed to make building pipelines accessible without the need to code. </p>
<p><img src="https://external-content.duckduckgo.com/iu/?u=http%3A%2F%2Fbiouno.org%2Fassets%2Fposts%2F2016-06-07-Jenkins-Wow-or-JustAbout-Time%2FBlueOcean.png&amp;f=1&amp;nofb=1" alt="Example of Blue Ocean" />
<em>Blue Ocean UI</em></p>
<h2 id="scaling">Scaling</h2>
<p>In the number and complexity of pipelines, scaling is another task that Jenkins makes easy and flexible. Install Jenkins on more servers, instantiate more docker containers, or use Kubernetes to scale. Jenkins can then either distribute your pipeline steps across servers to speed up pipeline completion times, or run more pipelines.</p>
<h2 id="plugins">Plugins</h2>
<p>Plugins for Jenkins are plentiful; you can find a plugin for any function you need, from sending email notifications to monitoring Pipeline performance. If you need a Jenkins plugin that doesn't exist, you can make one; Jenkins is open source and has good documentation on creating plugins. </p>
<h1 id="conclusion">Conclusion</h1>
<p>Jenkins is a fabulous, industry-leading automation server that is flexible enough to be used by startups or enterprises. Its many scripting, deployment, security, and plugin options ensure that Jenkins fits any use case.  If you're interested in setting up a CI/CD pipeline with Jenkins, check out their website Jenkins.io. </p>
<h1 id="follow-me-on-twitter-heyglassyhttpstwittercomheyglassy">Follow me on Twitter <a target="_blank" href="https:/twitter.com/_heyglassy">@_heyglassy</a></h1>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://twitter.com/_heyglassy/status/1448378311302959104">https://twitter.com/_heyglassy/status/1448378311302959104</a></div>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://twitter.com/_heyglassy/status/143496384343260774">https://twitter.com/_heyglassy/status/143496384343260774</a></div>
<p>Thanks for reading!</p>
]]></content:encoded></item><item><title><![CDATA[What, Why, and How to do Software Testing]]></title><description><![CDATA[Every day, new features and products are shipped into the world to eagerly awaiting users. Sometimes, they are adequately tested and won’t break, meaning happy customers and more profit! But, other times, they are shipped without proper testing, putt...]]></description><link>https://read.heyglassy.co/what-why-and-how-to-do-software-testing</link><guid isPermaLink="true">https://read.heyglassy.co/what-why-and-how-to-do-software-testing</guid><category><![CDATA[software development]]></category><category><![CDATA[Software Testing]]></category><category><![CDATA[Testing]]></category><category><![CDATA[Beginner Developers]]></category><dc:creator><![CDATA[Christian Glassiognon]]></dc:creator><pubDate>Thu, 02 Sep 2021 00:58:58 GMT</pubDate><content:encoded><![CDATA[<p>Every day, new features and products are shipped into the world to eagerly awaiting users. Sometimes, they are adequately tested and won’t break, meaning happy customers and more profit! But, other times, they are shipped without proper testing, putting your product at risk. Without testing, quality assurance (QA), you could lose customer trust and revenue through broken products.
From No-coders or senior developers alike, everyone can adequately test their products to ensure they are built as intended, are free of bugs, and stand up to their users. This newsletter, Testing for Everyone, shows you how to do just that! 
By now, I imagine you have more questions, like</p>
<blockquote>
<ul>
<li>What is quality assurance (QA)?</li>
<li>Why is QA so important?</li>
<li>How do I start testing my applications?</li>
</ul>
</blockquote>
<p>This issue will answer all those questions and more!</p>
<h1 id="what-is-quality-assurance-qa">What is Quality Assurance (QA)</h1>
<p>QA is a set of principles and methodologies to ensure your software is reliable and built as intended. Essentially QA ensures that your software does not break once into users’ hands and works the way you designed it. QA can encompass everything from automated tests covering the entire application to manual tests covering the flow of a specific feature on a web page. Regardless, QA is how you take a step back and look at your software to find anything that would cause the program to break or not meet your specifications.</p>
<blockquote>
<p>QA is a set of principles and methodologies to ensure your software is reliable and built as intended.</p>
</blockquote>
<h1 id="why-is-qa-so-important">Why is QA so important?</h1>
<p>As I mentioned earlier, QA can be the difference between a happy paying customer and a customer who pays a competitor. An example of how even simple bugs have significant consequences is NASA’s Mars Climate Orbiter. The engineers who developed the orbiter failed to convert a metric to imperial measurement before the craft launched. So, after years of hard work and almost $200 million, the craft was unintentionally deorbited, and the mission failed. Unfortunately, without good testing, incidents like this will continue to happen. So, in essence, QA avoids the potentially severe and expensive consequences of bugs in your software.</p>
<p>Generally, QA is an afterthought for teams when building software. Usually, teams construct features first features and test plans last. Doing this makes you more likely only to test the way the feature should work or the happy path. Conversely, when teams develop test plans before or during development, potential errors are noticed more often and can be raised and fixed far before shipping to a customer. Developing without testing is akin to not going to the doctor regularly. You may be healthy, but you wouldn’t catch things before they become severe problems.</p>
<blockquote>
<p>Developing without testing is akin to not going to the doctor regularly. You may be healthy, but you wouldn’t catch things before they become severe problems.</p>
</blockquote>
<p>QA also can ensure that the way you designed a feature matches the implementation in your final product. By taking a step back and looking at your software from many different angles, you can discover how a feature doesn’t match your original design or is confusing to a user.</p>
<blockquote>
<p>QA avoids the potentially severe and expensive consequences of bugs in your software.</p>
</blockquote>
<h1 id="how-do-i-start-testing-my-applications">How do I start testing my applications?</h1>
<p>Testing is a crucial part of software development, but it’s not hard to get started. First, find a website to test, then create a document listing what you would like to test, and record your testing results.</p>
<p>For this example, I decided to test Meet Kevon’s website for his  <a target="_blank" href="https://www.makingtwitterfriends.com/">Making Twitter Friends </a> course!</p>
<p><img src="https://s3.amazonaws.com/revue/items/images/010/811/455/mail/Screenshot_2021-09-01_033158__28this_29.jpg?1630490736" alt="The main section of the Meeting Twitter Friends website" /></p>
<p>Before I start thinking about what to test, I create my test document. The test document helps us track and revisit our list of tests. At the top, I include a small summary of my tests like so.</p>
<p><img src="https://s3.amazonaws.com/revue/items/images/010/812/029/mail/Screenshot_2021-09-01_044447__28this2_29.jpg?1630493138" alt="Document with a summary of test cases." /></p>
<p>Now that we have our document, we need to layout our list of tests, or test cases, before testing.
When I start testing a website, I immediately look for</p>
<ul>
<li>Dead or incorrect links </li>
<li>Input fields that accept invalid values</li>
<li>Spelling errors (these can be bugs to you know!)</li>
</ul>
<p>These bugs are easy to spot and fix but make a huge difference!
As you can see, our test website has an email field; let’s add a test case to make sure that the email field only takes emails!</p>
<p><img src="https://s3.amazonaws.com/revue/items/images/010/812/090/mail/Screenshot_2021-09-01_045424__28this4_29.jpg?1630493690" alt="Updated Testing Document" /></p>
<p>There was a minor bug when testing this where the email field accepts invalid emails; here is a potential bug! As a general rule of thumb, test every possible bug three times to ensure it’s repeatable, meaning it’s an actual bug!</p>
<p><img src="https://s3.amazonaws.com/revue/items/images/010/811/897/original/EmailValidateTwitterMeetKevon.gif?1630492866" alt="Gif of email validation failing." /></p>
<p><img src="https://s3.amazonaws.com/revue/items/images/010/812/106/mail/Screenshot_2021-09-01_045544__28this5_29.jpg?1630493763" alt="Updated test document with failed test documentation" /></p>
<p>After testing it three times, I documented that the test case was failing and let Kevon know!</p>
<p>Kevon fixed the bug, but I encourage you to test the fields yourself by signing up for his course anyway! ;)</p>
<p>Try this with your website or a website of a #buildinpublic community member today; you might be surprised by what you find!</p>
<p>If you do find anything, @ me on Twitter,  <a target="_blank" href="https://twitter.com/_heyglassy">@_heyglassy</a>; I’d love to see what you all find!</p>
<p>If you enjoyed or received value from this newsletter, please make sure to like and share it. It helps this knowledge be seen by more people and generally makes my day!</p>
<p><a target="_blank" href="https://buymeacoffee.com/heyglassy">Buy Me A Coffee!</a></p>
]]></content:encoded></item></channel></rss>