Category Archives: CS-443

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 recent addition to the tools
testers have at their disposal. These tools are being implemented in
different sections of the quality assurance process, with an adoption rate
of 51% for test data creation,45% for test automation, 36% for test result
analysis, and 46% for test case formulation. And like I said before, these
are the numbers the end of 2023, who knows what the current numbers
are.

https://www.prnewswire.com/ae/news-releases/ai-adoption-among-software-testers-at-78-reliability-and-skill-gap-the-biggest-challenges-302007514.html

On a side note, the article says that software testers are being involved
much earlier in the development process. This ties in directly with what I
have been learning in class for the past two semesters about sprint
planning. Having testers be there in the sprint planning phase allows to get
the specifications for the test cases earlier than before, but could lead to
test cases without implemented code.

All of this data comes from a survey into the future of quality assurance
by Lambda Test. Some other interesting figures from the survey include
numbers on quality assurance budget and the ratio of QA testers to
developers. Companies, both big and small, seem to see quality assurance as
a valuable part of the software development process, and invest accordingly.
Interestingly, there is also data on the state of testing itself, with a
particularly interesting note about the benchmark for bug identification
being around 10%.

https://www.lambdatest.com/future-of-quality-assurance-survey?utm_source=media&utm_medium=pressrelease&utm_campaign=dec06_kn&utm_term=kn&utm_content=pr

From the blog CS@Worcester Alejandro Professional Blog by amontesdeoca and used with permission of the author. All other rights reserved by the author.

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 recent addition to the tools
testers have at their disposal. These tools are being implemented in
different sections of the quality assurance process, with an adoption rate
of 51% for test data creation,45% for test automation, 36% for test result
analysis, and 46% for test case formulation. And like I said before, these
are the numbers the end of 2023, who knows what the current numbers
are.

https://www.prnewswire.com/ae/news-releases/ai-adoption-among-software-testers-at-78-reliability-and-skill-gap-the-biggest-challenges-302007514.html

On a side note, the article says that software testers are being involved
much earlier in the development process. This ties in directly with what I
have been learning in class for the past two semesters about sprint
planning. Having testers be there in the sprint planning phase allows to get
the specifications for the test cases earlier than before, but could lead to
test cases without implemented code.

All of this data comes from a survey into the future of quality assurance
by Lambda Test. Some other interesting figures from the survey include
numbers on quality assurance budget and the ratio of QA testers to
developers. Companies, both big and small, seem to see quality assurance as
a valuable part of the software development process, and invest accordingly.
Interestingly, there is also data on the state of testing itself, with a
particularly interesting note about the benchmark for bug identification
being around 10%.

https://www.lambdatest.com/future-of-quality-assurance-survey?utm_source=media&utm_medium=pressrelease&utm_campaign=dec06_kn&utm_term=kn&utm_content=pr

From the blog CS@Worcester Alejandro Professional Blog by amontesdeoca and used with permission of the author. All other rights reserved by the author.

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 recent addition to the tools
testers have at their disposal. These tools are being implemented in
different sections of the quality assurance process, with an adoption rate
of 51% for test data creation,45% for test automation, 36% for test result
analysis, and 46% for test case formulation. And like I said before, these
are the numbers the end of 2023, who knows what the current numbers
are.

https://www.prnewswire.com/ae/news-releases/ai-adoption-among-software-testers-at-78-reliability-and-skill-gap-the-biggest-challenges-302007514.html

On a side note, the article says that software testers are being involved
much earlier in the development process. This ties in directly with what I
have been learning in class for the past two semesters about sprint
planning. Having testers be there in the sprint planning phase allows to get
the specifications for the test cases earlier than before, but could lead to
test cases without implemented code.

All of this data comes from a survey into the future of quality assurance
by Lambda Test. Some other interesting figures from the survey include
numbers on quality assurance budget and the ratio of QA testers to
developers. Companies, both big and small, seem to see quality assurance as
a valuable part of the software development process, and invest accordingly.
Interestingly, there is also data on the state of testing itself, with a
particularly interesting note about the benchmark for bug identification
being around 10%.

https://www.lambdatest.com/future-of-quality-assurance-survey?utm_source=media&utm_medium=pressrelease&utm_campaign=dec06_kn&utm_term=kn&utm_content=pr

From the blog CS@Worcester Alejandro Professional Blog by amontesdeoca and used with permission of the author. All other rights reserved by the author.

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 recent addition to the tools
testers have at their disposal. These tools are being implemented in
different sections of the quality assurance process, with an adoption rate
of 51% for test data creation,45% for test automation, 36% for test result
analysis, and 46% for test case formulation. And like I said before, these
are the numbers the end of 2023, who knows what the current numbers
are.

https://www.prnewswire.com/ae/news-releases/ai-adoption-among-software-testers-at-78-reliability-and-skill-gap-the-biggest-challenges-302007514.html

On a side note, the article says that software testers are being involved
much earlier in the development process. This ties in directly with what I
have been learning in class for the past two semesters about sprint
planning. Having testers be there in the sprint planning phase allows to get
the specifications for the test cases earlier than before, but could lead to
test cases without implemented code.

All of this data comes from a survey into the future of quality assurance
by Lambda Test. Some other interesting figures from the survey include
numbers on quality assurance budget and the ratio of QA testers to
developers. Companies, both big and small, seem to see quality assurance as
a valuable part of the software development process, and invest accordingly.
Interestingly, there is also data on the state of testing itself, with a
particularly interesting note about the benchmark for bug identification
being around 10%.

https://www.lambdatest.com/future-of-quality-assurance-survey?utm_source=media&utm_medium=pressrelease&utm_campaign=dec06_kn&utm_term=kn&utm_content=pr

From the blog CS@Worcester Alejandro Professional Blog by amontesdeoca and used with permission of the author. All other rights reserved by the author.

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 recent addition to the tools
testers have at their disposal. These tools are being implemented in
different sections of the quality assurance process, with an adoption rate
of 51% for test data creation,45% for test automation, 36% for test result
analysis, and 46% for test case formulation. And like I said before, these
are the numbers the end of 2023, who knows what the current numbers
are.

https://www.prnewswire.com/ae/news-releases/ai-adoption-among-software-testers-at-78-reliability-and-skill-gap-the-biggest-challenges-302007514.html

On a side note, the article says that software testers are being involved
much earlier in the development process. This ties in directly with what I
have been learning in class for the past two semesters about sprint
planning. Having testers be there in the sprint planning phase allows to get
the specifications for the test cases earlier than before, but could lead to
test cases without implemented code.

All of this data comes from a survey into the future of quality assurance
by Lambda Test. Some other interesting figures from the survey include
numbers on quality assurance budget and the ratio of QA testers to
developers. Companies, both big and small, seem to see quality assurance as
a valuable part of the software development process, and invest accordingly.
Interestingly, there is also data on the state of testing itself, with a
particularly interesting note about the benchmark for bug identification
being around 10%.

https://www.lambdatest.com/future-of-quality-assurance-survey?utm_source=media&utm_medium=pressrelease&utm_campaign=dec06_kn&utm_term=kn&utm_content=pr

From the blog CS@Worcester Alejandro Professional Blog by amontesdeoca and used with permission of the author. All other rights reserved by the author.

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 recent addition to the tools
testers have at their disposal. These tools are being implemented in
different sections of the quality assurance process, with an adoption rate
of 51% for test data creation,45% for test automation, 36% for test result
analysis, and 46% for test case formulation. And like I said before, these
are the numbers the end of 2023, who knows what the current numbers
are.

https://www.prnewswire.com/ae/news-releases/ai-adoption-among-software-testers-at-78-reliability-and-skill-gap-the-biggest-challenges-302007514.html

On a side note, the article says that software testers are being involved
much earlier in the development process. This ties in directly with what I
have been learning in class for the past two semesters about sprint
planning. Having testers be there in the sprint planning phase allows to get
the specifications for the test cases earlier than before, but could lead to
test cases without implemented code.

All of this data comes from a survey into the future of quality assurance
by Lambda Test. Some other interesting figures from the survey include
numbers on quality assurance budget and the ratio of QA testers to
developers. Companies, both big and small, seem to see quality assurance as
a valuable part of the software development process, and invest accordingly.
Interestingly, there is also data on the state of testing itself, with a
particularly interesting note about the benchmark for bug identification
being around 10%.

https://www.lambdatest.com/future-of-quality-assurance-survey?utm_source=media&utm_medium=pressrelease&utm_campaign=dec06_kn&utm_term=kn&utm_content=pr

From the blog CS@Worcester Alejandro Professional Blog by amontesdeoca and used with permission of the author. All other rights reserved by the author.

The Importance of Security Testing

Link to blog: https://www.computer.org/publications/tech-news/trends/application-security-testing

The whole semester we have been exploring various ways of testing code, namely styles that ensure the code works as it should. However, there is another aspect of testing we have not discussed yet; security testing. 

It is of the utmost importance to ensure that your software, database, website, etc. is safe from hackers and leaks. Security testing would help just that: making sure your system is unbreakable, or at the very least mostly protected from vulnerabilities and flaws. I think it is important to learn about this aspect of testing, which is how I came across Adam Stead’s article What is Security Testing? How to Check The Security Strength of Your Application.

Stead stresses the importance of security in software and also lists some important security testing techniques, such as vulnerability testing, black box testing, penetration testing, and more. There are many benefits of security testing besides identifying vulnerabilities. Some examples listed by Stead include protecting sensitive data, enhancing customer trust, and cost-effectiveness. Data leaks have been pretty common as of the past several years and it is a huge deal for those companies to lose their customers’ trust and their own reputation. With increased security comes increased trust, which is beneficial to both the business and the customer. 

Stead mentions some security testing best practices, and reinforces the idea of starting early and prioritizing risks. Security testing early on in development can help prevent flaws in your code, and you should continue to test throughout production. Prioritizing risks ensures that your important flaws don’t go unnoticed, and you fix your biggest holes before fixing the smaller ones.

Stead ends the article by discussing some attributes of effective security testing (thoroughness, continuity, scalability, etc.) and stresses the importance of checking the security strength of your software regularly.

I selected this article because this is a topic we have not discussed much in class even though it is still a very important part of software testing. This article emphasizes the key elements of security testing and how important it is to include it as a part of your testing regime.

The content of the resource was very informative and understandable for someone who already has a bit of understanding of software testing. An interesting thing I learned was about fax online, which is a method that businesses use to securely send documents. I did somewhat enjoy the article, it was informative, however I wish it included some examples of certain testing types. I expect to apply my newfound security knowledge to future jobs and software practices.

From the blog CS@Worcester – Josh's Coding Journey by joshuafife and used with permission of the author. All other rights reserved by the author.

Performance Testing in Software Development

Our class discussed many code-driven testing methods, including Test Driven Development and Unit Testing. I thought it would be interesting to research what goes into performance testing, which doesn’t need coding to test but is still important to determine if there are any bottlenecks in your code. Many errors in our code go beyond whether it provides the correct output. If our software cannot function quickly and with many users, it doesn’t matter if our code functions if it doesn’t work in practice. The article “Performance testing, best practices, metrics & more” by Tricentis is a comprehensive look into how performance testing works and its role in software development. 

This article mainly provides the fundamentals of performance testing. It discusses why it’s important, the tests involved, what is measured, and a step-by-step process for ensuring your code functions correctly. It also discusses whether coding is necessary, when to conduct performance testing, and clears up performance and load-testing misconceptions. 

Reading the section on why performance testing is important had me finding a parallel to behavior-driven development because both focus on the user’s experience. If BDD provides an understanding of how the user is supposed to interact with the software during development, then performance testing is how users will interact with it when completed. If the users are stuck waiting for their application to load, find that it crashes often, or are unable to access it, then user experience will fall. That negative experience could lower revenue or reputation for the application’s company.

The section describing the testing methods highlighted how many ways you could poke and prod a system until it breaks. When I think of performance testing, I usually think of testing speed and user capacity, so seeing the other methods was enlightening. As I have not dabbled in performance testing, seeing the sequential steps to ensure speed and stability in our code was informative. It is vague enough for those new to performance testing to use it as a guideline. It was also interesting to learn that with agile methodologies at the forefront of software development, companies are looking for automation when doing performance tests to keep up with faster software development.

Overall, this article covered many aspects of performance testing, and those interested in learning would find it helpful. I plan to use performance testing to ensure users have a better experience, expose bottlenecks, and find where my code’s stability is weakest. 

The Article: https://www.tricentis.com/learn/performance-testing

From the blog CS@Worcester – KindlCoding by jkindl and used with permission of the author. All other rights reserved by the author.

Test-Driven Development

Test-driven development (TDD) seemed odd to me when I was first introduced to it, much like the majority of others. The idea of writing tests before code felt weird in a way, as you write tests for nothing. However, the more I read about the benefits and how to properly apply TDD, the more obvious it was how useful TTD really is. Jacob Schmitt does a great job explaining TDD along with its benefits and best practices in his blog “Test-driven development (TDD) explained” (https://circleci.com/blog/test-driven-development-tdd/).

Test-driven development is a software development approach where tests are written before code. It follows an iterative cycle: write a test, ensure it fails, write code to pass the test, and refactor. This means that a large amount of planning needs to go into the start of a project. Designing tests requires an understanding of what the feature you are adding should accomplish. This includes testing that things should pass when expected and fail when expected.

As I mentioned before, it feels counterintuitive to write a test for code that does not exist. That is, until you understand the benefits of having tests. Tests are going to be required for any serious project. Having the tests written first will greatly increase your chances of finding bugs as early as possible. This also ensures that any refactoring does not break any existing functionality. This is great when working with a team, ensuring that everyone is on the same page and that changes made by anyone will be tested. TDD also ensures that all code that is written is tested. This greatly increases the code reliability and ensures functionality aligns with the user expectations.

One of the most impactful benefits of TDD as a developer is the increased confidence that any changes you make in the code will have immediate feedback on if it passed the tests or not. This confidence extends to every developer on the team, as these tests ensure everyone’s code works as intended.

Catching bugs early can save a huge amount of time and money. It makes sense that testing code incrementally as it’s added is better than waiting until it is all developed to test. This also makes sure no code is ever added that isn’t tested. Meaning tests are being rushed near the end of deadlines, and potentially missing some.

From the blog CS@Worcester – CS Learning by kbourassa18 and used with permission of the author. All other rights reserved by the author.

Pytest

As a student of computer science, encountering different tools that streamline coding processes is a cornerstone of my educational journey. One such tool that has caught my attention this semester is pytest, a testing framework for Python that allows for simple unit tests as well as complex functional testing. After a thorough exploration, here’s why I believe every budding software developer should dive into pytest’s documentation.

Why I Chose This Resource

The reason I chose to delve into the pytest documentation is twofold. Firstly, our course has increasingly emphasized the importance of test-driven development (TDD), a method pytest excels at supporting. Secondly, several industry professionals I look up to have recommended pytest for its simplicity and efficacy, making it an essential skill in a developer’s toolkit.

Summary of the Resource

The pytest documentation provides a comprehensive guide to getting started with pytest, from installation to writing your first test. It covers key features like fixtures for a scalable and modular setup, markers for categorizing tests, and plugins to extend pytest’s capabilities. The documentation is well-organized and rich with examples, making it accessible to newcomers and a valuable reference for experienced developers.

Personal Reflection and Application

Reading through the pytest documentation was an enlightening experience. It not only clarified the mechanics of pytest but also underscored the benefits of using such a tool in real-world programming. One of the standout sections was on ‘parametrized testing’, which illustrated how to execute multiple permutations of a test with different input sets, ensuring broader coverage with fewer lines of code.

This resource has profoundly affected my approach to programming. It has instilled a more disciplined mindset towards testing, making me appreciate how early detection of issues can save time and resources in the development cycle. I now plan to integrate pytest into my upcoming projects, confident that it will enhance the quality and reliability of my code.

Future Practice

The knowledge gained from the pytest documentation is something I intend to apply in all my future software development endeavors. I see it as a step towards adopting best practices in testing, which is vital for any aspiring software engineer dedicated to producing robust and fault-tolerant software.

Conclusion

For any student of computer science, understanding the tools at your disposal is as crucial as mastering programming concepts. The pytest documentation is a goldmine of information that promises to elevate your testing skills. I highly recommend it to anyone looking to embrace test-driven development fully.

From the blog CS@Worcester – Abe's Programming Blog by Abraham Passmore and used with permission of the author. All other rights reserved by the author.