Category Archives: Software Testing

Maven

This week I read the first chapter of a book called Introducing Maven(by Balaji Varanasi). Maven makes software development much easier; there are 2 main benefits that Maven provides.

  1. Standardized directory structure
  2. Declarative dependency management

For me the most useful feature of Maven is its standardized directory structure for projects. It is much easier for me to navigate through different projects if they all share the same structure.

Dependency management is feature that automate dependency management. Instead of manually downloading dependencies and keeping track of their versions, we could use Maven to do it for us. Information regarding the project dependencies is stored in the pom.xml file. The pom.xml file stores the what not the how. Maven then automatically downloads the dependencies and allows us to use it in the project.

 

 

 

 

From the blog Software Testing – The blog about software by Sudarshan and used with permission of the author. All other rights reserved by the author.

Google Testing Blog: Hackable Projects – Pillar 1: Code Health

Hackable Projects – Pillar 1: Code Health

In this blog post, author Patrik Höglund talks about how over the years, software development can become stressful to deal with and fix constant issues. The way he suggests to resolve this issue is by making the software more “hackable”; not in the sense of making the software more vulnerable to attacks, but making it easier to modify from a developers stand point. Höglund goes on to say that a hackable project is one that includes easy development, fast builds, good and fast tests, clean code, easy running and debugging, and “one-click” rollbacks. Höglund then goes on to describe the three main pillars of hackability, which are code health, debuggability, and infrastructure.

This post focuses solely on the first pillar of hackability: Code Health.
The first thing Höglund covers are tests that you should use. He says that “unit and small integration tests are probably the best things you can do for hackability” rather than using end-to-end testing. The other thing to testing is that if you have poorly tested legacy code, the best thing to do is refactor it and add tests along the way. Even though this can become time consuming, it’s work it in the end because it leads to a more hackable system in the long run.
The next thing that should be done is to make sure that your code is readable and goes through code review. This means that there should be a reviewer who looks over the code changes to make sure that the new code is consistant with the rest of the code. The changes should also be small and coded cleanly so as to make it easy if a rollback is necessary. Another thing that will help with hackability is making sure that all of your code is submitted in a constistant format.
To reduce risks even more, you should try to consistantly have a single branch for your project. This not only decreases the possible risks, but also reduces the expense of having to run tests on multiple branches. This could possibly back fire though if, as Höglund writes, “Team A depends on a library from Team B and gets broken by Team B a lot.” Höglund suggests that “Team B might have to stabalize thier software for them to use this method and have hackable software.
The last things that Höglund focuses on for Code Heath is making sure that your code has loose coupling, testability, and ways that you can aggressively reduce technical debt.

From the blog CS WSU – Techni-Cat by clamberthutchinson and used with permission of the author. All other rights reserved by the author.

I’ll Test It Later…

I’ll test it later. I am sure at during one point or another in all our programming careers we have told ourselves this before.

I came across an interesting article about Twyla, an engineering company who is training their employees’ to dedicate more quality time to testing practices. If you had to choose between writing code to test a program or writing code for the actual program, many would choose the latter. We feel some sense of accomplishment and progress in coding the program while coding the tests does not. “Why am I coding tests for a program that hasn’t even been created yet?” Some might think that this approach is a waste of time but I would argue that it actually saves you time in the long run because you will run into possibly less errors since the tests echo the necessary behavior of the program. Twyla encourages their QA teams to sit down together once a week for an hour for product testing which I think is a great idea because not only would it increase our testing capacity but our social abilities as well. QA testing, like anything else, only gets better through practice and what better way to do that than to sit down with others, share ideas and have a testing frenzy!

Link: https://www.rainforestqa.com/blog/2016-10-13-how-to-build-a-culture-of-quality-a-case-study-of-twyla/

From the blog CS@Worcester – Tan Trieu's Blog by tanminhtrieu and used with permission of the author. All other rights reserved by the author.

The Basic of Software Testing (Week 4)

This post is dedicated to the fundamentals of software testing. First is important  to learn and practice the basic of software testing techniques before you step into the advanced testings. In this article, I’m listing the eight most important basics of software testing that are very important to master before you move forward.

  1. Software Quality-Software quality is the degree of conformance to explicit or implicit requirements and expectations.
  2. Dimensions of Software Quality- There are so many dimensions, here I listing some of them: Accessibility, Compatibility, Concurrency, Efficiency, Functionality, Functionality, Installability, Localizability, Maintainability, Performance, Portability, Reliability, Scalability, Security, Testability, and Usability, there are more dimensions but this is the most useful dimensions to know before you step forward with software testing.
  3. Software Quality Assurance- Software Quality Assurance is a set of activities for ensuring quality in software engineering processes.
  4.  Software Quality Control- Software Quality Control is a set of activities for ensuring quality in software products.
  5. SQA and SQC Differences- SQA is process-focused and prevention-oriented but SQC is product-focused and detection-oriented. 
  6. Software Development Life Cycle-Software Development Life Cycle defines the steps/ stages/ phases in the building of software.
  7. Software Testing Life Testing- Software Testing Life Cycle (STLC) defines the steps/ stages/ phases in the testing of software. 
  8. Definition of Test- Merriam Webster defines Test as “a critical examination, observation, or evaluation”. 

These eight basic concepts are important to go more in depth because can help us to be beter software tester in the future.

Here you can read more about these concepts: Click Here

Citation
http://softwaretestingfundamentals.com/software-testing-basics/


From the blog Table of Code by Andon S and used with permission of the author. All other rights reserved by the author.

The Basic of Software Testing (Week 4)

This post is dedicated to the fundamentals of software testing. First is important  to learn and practice the basic of software testing techniques before you step into the advanced testings. In this article, I’m listing the eight most important basics of software testing that are very important to master before you move forward.

  1. Software Quality-Software quality is the degree of conformance to explicit or implicit requirements and expectations.
  2. Dimensions of Software Quality- There are so many dimensions, here I listing some of them: Accessibility, Compatibility, Concurrency, Efficiency, Functionality, Functionality, Installability, Localizability, Maintainability, Performance, Portability, Reliability, Scalability, Security, Testability, and Usability, there are more dimensions but this is the most useful dimensions to know before you step forward with software testing.
  3. Software Quality Assurance- Software Quality Assurance is a set of activities for ensuring quality in software engineering processes.
  4.  Software Quality Control- Software Quality Control is a set of activities for ensuring quality in software products.
  5. SQA and SQC Differences- SQA is process-focused and prevention-oriented but SQC is product-focused and detection-oriented. 
  6. Software Development Life Cycle-Software Development Life Cycle defines the steps/ stages/ phases in the building of software.
  7. Software Testing Life Testing- Software Testing Life Cycle (STLC) defines the steps/ stages/ phases in the testing of software. 
  8. Definition of Test- Merriam Webster defines Test as “a critical examination, observation, or evaluation”. 

These eight basic concepts are important to go more in depth because can help us to be beter software tester in the future.

Here you can read more about these concepts: Click Here

Citation
http://softwaretestingfundamentals.com/software-testing-basics/


From the blog Table of Code by Andon S and used with permission of the author. All other rights reserved by the author.

The Basic of Software Testing (Week 4)

This post is dedicated to the fundamentals of software testing. First is important  to learn and practice the basic of software testing techniques before you step into the advanced testings. In this article, I’m listing the eight most important basics of software testing that are very important to master before you move forward.

  1. Software Quality-Software quality is the degree of conformance to explicit or implicit requirements and expectations.
  2. Dimensions of Software Quality- There are so many dimensions, here I listing some of them: Accessibility, Compatibility, Concurrency, Efficiency, Functionality, Functionality, Installability, Localizability, Maintainability, Performance, Portability, Reliability, Scalability, Security, Testability, and Usability, there are more dimensions but this is the most useful dimensions to know before you step forward with software testing.
  3. Software Quality Assurance- Software Quality Assurance is a set of activities for ensuring quality in software engineering processes.
  4.  Software Quality Control- Software Quality Control is a set of activities for ensuring quality in software products.
  5. SQA and SQC Differences- SQA is process-focused and prevention-oriented but SQC is product-focused and detection-oriented. 
  6. Software Development Life Cycle-Software Development Life Cycle defines the steps/ stages/ phases in the building of software.
  7. Software Testing Life Testing- Software Testing Life Cycle (STLC) defines the steps/ stages/ phases in the testing of software. 
  8. Definition of Test- Merriam Webster defines Test as “a critical examination, observation, or evaluation”. 

These eight basic concepts are important to go more in depth because can help us to be beter software tester in the future.

Here you can read more about these concepts: Click Here

Citation
http://softwaretestingfundamentals.com/software-testing-basics/


From the blog Table of Code by Andon S and used with permission of the author. All other rights reserved by the author.

The Basic of Software Testing (Week 4)

This post is dedicated to the fundamentals of software testing. First is important  to learn and practice the basic of software testing techniques before you step into the advanced testings. In this article, I’m listing the eight most important basics of software testing that are very important to master before you move forward.

  1. Software Quality-Software quality is the degree of conformance to explicit or implicit requirements and expectations.
  2. Dimensions of Software Quality- There are so many dimensions, here I listing some of them: Accessibility, Compatibility, Concurrency, Efficiency, Functionality, Functionality, Installability, Localizability, Maintainability, Performance, Portability, Reliability, Scalability, Security, Testability, and Usability, there are more dimensions but this is the most useful dimensions to know before you step forward with software testing.
  3. Software Quality Assurance- Software Quality Assurance is a set of activities for ensuring quality in software engineering processes.
  4.  Software Quality Control- Software Quality Control is a set of activities for ensuring quality in software products.
  5. SQA and SQC Differences- SQA is process-focused and prevention-oriented but SQC is product-focused and detection-oriented. 
  6. Software Development Life Cycle-Software Development Life Cycle defines the steps/ stages/ phases in the building of software.
  7. Software Testing Life Testing- Software Testing Life Cycle (STLC) defines the steps/ stages/ phases in the testing of software. 
  8. Definition of Test- Merriam Webster defines Test as “a critical examination, observation, or evaluation”. 

These eight basic concepts are important to go more in depth because can help us to be beter software tester in the future.

Here you can read more about these concepts: Click Here

Citation
http://softwaretestingfundamentals.com/software-testing-basics/


From the blog Table of Code by Andon S and used with permission of the author. All other rights reserved by the author.

The Basic of Software Testing (Week 4)

This post is dedicated to the fundamentals of software testing. First is important  to learn and practice the basic of software testing techniques before you step into the advanced testings. In this article, I’m listing the eight most important basics of software testing that are very important to master before you move forward.

  1. Software Quality-Software quality is the degree of conformance to explicit or implicit requirements and expectations.
  2. Dimensions of Software Quality- There are so many dimensions, here I listing some of them: Accessibility, Compatibility, Concurrency, Efficiency, Functionality, Functionality, Installability, Localizability, Maintainability, Performance, Portability, Reliability, Scalability, Security, Testability, and Usability, there are more dimensions but this is the most useful dimensions to know before you step forward with software testing.
  3. Software Quality Assurance- Software Quality Assurance is a set of activities for ensuring quality in software engineering processes.
  4.  Software Quality Control- Software Quality Control is a set of activities for ensuring quality in software products.
  5. SQA and SQC Differences- SQA is process-focused and prevention-oriented but SQC is product-focused and detection-oriented. 
  6. Software Development Life Cycle-Software Development Life Cycle defines the steps/ stages/ phases in the building of software.
  7. Software Testing Life Testing- Software Testing Life Cycle (STLC) defines the steps/ stages/ phases in the testing of software. 
  8. Definition of Test- Merriam Webster defines Test as “a critical examination, observation, or evaluation”. 

These eight basic concepts are important to go more in depth because can help us to be beter software tester in the future.

Here you can read more about these concepts: Click Here

Citation
http://softwaretestingfundamentals.com/software-testing-basics/


From the blog Table of Code by Andon S and used with permission of the author. All other rights reserved by the author.

The Basic of Software Testing (Week 4)

This post is dedicated to the fundamentals of software testing. First is important  to learn and practice the basic of software testing techniques before you step into the advanced testings. In this article, I’m listing the eight most important basics of software testing that are very important to master before you move forward.

  1. Software Quality-Software quality is the degree of conformance to explicit or implicit requirements and expectations.
  2. Dimensions of Software Quality- There are so many dimensions, here I listing some of them: Accessibility, Compatibility, Concurrency, Efficiency, Functionality, Functionality, Installability, Localizability, Maintainability, Performance, Portability, Reliability, Scalability, Security, Testability, and Usability, there are more dimensions but this is the most useful dimensions to know before you step forward with software testing.
  3. Software Quality Assurance- Software Quality Assurance is a set of activities for ensuring quality in software engineering processes.
  4.  Software Quality Control- Software Quality Control is a set of activities for ensuring quality in software products.
  5. SQA and SQC Differences- SQA is process-focused and prevention-oriented but SQC is product-focused and detection-oriented. 
  6. Software Development Life Cycle-Software Development Life Cycle defines the steps/ stages/ phases in the building of software.
  7. Software Testing Life Testing- Software Testing Life Cycle (STLC) defines the steps/ stages/ phases in the testing of software. 
  8. Definition of Test- Merriam Webster defines Test as “a critical examination, observation, or evaluation”. 

These eight basic concepts are important to go more in depth because can help us to be beter software tester in the future.

Here you can read more about these concepts: Click Here

Citation
http://softwaretestingfundamentals.com/software-testing-basics/


From the blog Table of Code by Andon S and used with permission of the author. All other rights reserved by the author.

The Basic of Software Testing (Week 4)

This post is dedicated to the fundamentals of software testing. First is important  to learn and practice the basic of software testing techniques before you step into the advanced testings. In this article, I’m listing the eight most important basics of software testing that are very important to master before you move forward.

  1. Software Quality-Software quality is the degree of conformance to explicit or implicit requirements and expectations.
  2. Dimensions of Software Quality- There are so many dimensions, here I listing some of them: Accessibility, Compatibility, Concurrency, Efficiency, Functionality, Functionality, Installability, Localizability, Maintainability, Performance, Portability, Reliability, Scalability, Security, Testability, and Usability, there are more dimensions but this is the most useful dimensions to know before you step forward with software testing.
  3. Software Quality Assurance- Software Quality Assurance is a set of activities for ensuring quality in software engineering processes.
  4.  Software Quality Control- Software Quality Control is a set of activities for ensuring quality in software products.
  5. SQA and SQC Differences- SQA is process-focused and prevention-oriented but SQC is product-focused and detection-oriented. 
  6. Software Development Life Cycle-Software Development Life Cycle defines the steps/ stages/ phases in the building of software.
  7. Software Testing Life Testing- Software Testing Life Cycle (STLC) defines the steps/ stages/ phases in the testing of software. 
  8. Definition of Test- Merriam Webster defines Test as “a critical examination, observation, or evaluation”. 

These eight basic concepts are important to go more in depth because can help us to be beter software tester in the future.

Here you can read more about these concepts: Click Here

Citation
http://softwaretestingfundamentals.com/software-testing-basics/


From the blog Table of Code by Andon S and used with permission of the author. All other rights reserved by the author.