Posts

Shift Left Approach

 For my last blog post for this class, I found an article online that talks about the practice of shifting-left in software quality assurance. This approach more or less emphasizes the importance of introducing quality assurance to earlier phases in the development process. Testing from the initial phase of development is supposed to prevent the amount of defects and issues from piling up at the end of development. Having testing done throughout the development phases can also lessen the workload for the quality assurance team. https://hackernoon.com/embracing-the-shift-left-approach-revolutionizing-quality-assurance-in-software-development According to the article, the cost of testing and post-production vastly outweighs the cost of development and planning. It posits that testing earlier and more frequently catches bugs earlier on, and reduces the overall cost of development. This goes very hand in hand with the agile software

Sprint 3 Retrospective

  In Sprint 3 I worked on finishing the checkinventoryfrontend. With the shorter time of the sprint, I went to work on fixing an issue I encountered in the previous sprint where the frontend would only display an error message saying that there was some problem in the html. At the same time I was trying to figure out how to get npm to work in the new file structure, since when I try calling npm in the terminal it kept failing. For the longest time I couldn’t figure out how to get the frontend to display correctly, trying all sorts of solutions from moving the package.json file around to deleting the deprecated yarnlock file. Eventually, I settled on figuring out how to change the npm files to allow npm to reach the new frontend folder I made. At some point, Jason asked if there was anything the rest of the team could work on in checkinventoryfrontend, and I said the documentation needed to be updated and that nodemon needed to be

Quality Assurance Survey Article

  This week I decided to look up what was going on in the news for software quality assurance. I found this article about a survey on the future of quality assurance and found it interesting. The headline was more specifically about the adoption of A.I. in software testing. I have already covered some of the potential benefits of the use of A.I. in software testing, so consider this to be a follow up to that. Keep in mind this article was written back in December of 2023, so things could have potentially changed in that time.  The title of this article states that over 78% of software testers have adopted A.I. into their testing. This kind of comes as no surprise since people have been gushing about the new burgeoning technology for a while now.  The tech industry has made a big effort to adopt A.I. into as many different fields as possible. The automation of test cases is not a new subject, but the use of A.I. is a fairly recen

Perpetual Learning: Break Your Toys

   Last week I started diving into the perpetual learning section of the Apprenticeship patterns book, beginning with the expand your bandwidth section. I talked about how I want to learn more about my field and explore new discoveries in the industry. This time however I read up on the "Break Your Toys" section from the book. This section covers the need to fail in order to improve, and how to set up an environment where you can sort of fail on purpose. I am no stranger to failing and struggling when it comes to computer programming, as I am sure we all are familiar with it. This section makes a case for using a pet project, or a “toy program” as they put it, to test and break to your heart’s content. This is supposed to allow you an environment in which to practice whatever programming you desire, and most importantly an environment to fail in. Failure in your job usually leads to you losing the respect of your peers

Apprenticeship Patterns: Prepetual Learning

 I find the assertion that one is never done learning to be very true to life. One's skills as a software developer should be iterated upon just like the very programs we craft. The section on perpetual learning provided  many interesting examples of ways to tackle improving one's own knowledge base and skillset. I want to cover some of my favorite sections in this blog post and over the course of the next couple blog posts. Expand Your Bandwidth I constantly get the feeling that my knowledge in my career is always much shallower than it should be. The suggestions provided at the start with Google Reader and following software luminaries seemed interesting, but I was much more interested in looking at online courses and podcasts. I want to be able to constantly expand my knowledge base and explore new horizons.  This reminds me of when I was keeping up to date with a subreddit that was all about mesh networks and peer

Regression Testing

  While looking for something that I could use for my 5th homework, I started looking into other software testing styles that we have not covered in class. There are tons of different styles that are implemented to introduce quality testing to software development. One such style I found this time is called regression testing, a testing style created to combat resurfacing bugs. Basically, regression testing is about implementing test cases every update, and maintaining them throughout future iterations. This is done to prevent old bugs from resurfacing and to check for any new bugs from being introduced in every update. Test cases should be created and implemented after every iteration to prevent bugs from piling up within your software. https://www.browserstack.com/guide/regression-testing  While this may sound a lot like retesting , the main difference is that regression testing looks for unknown bugs rather than known. H

Use Of AI in Software Testing

 The recent explosion of AI has invaded almost every industry nowadays. It has become something of a buzzword, with many companies loudly proclaiming how they are making use of the emergent technology to benefit their customer bases. Chat gpt and other types of  AI have already started creating all sorts of problems within the academic setting, giving many students an easy out on writing essays. Not only that, but AI is also now being attributed as one of the main driving forces behind massive layoffs within the tech industry and beyond. All of that being said, how can AI be utilized to improve software testing. I know that immediately trying to think of ways for AI to replace even more jobs within the software industry can be a bit jarring after bringing up the problems it has already created, but I wanted to look into how the future may look if we were to utilize this technology to expedite the testing process. It is entirely