Monthly Archives: December 2016

Week4: Difference Between Unit, Integration and Functional Testing

There are key differences between unit, integration and functional testing. Each testing process has its own importance and role in the testing process of software. Let us explore these difference by explaining each one at a time:

Unit Testing:

The name of this test is self-explanatory. We are testing for the smallest units of individual functions, methods, etc. Unit testing is done before integration testing by the software developers. It checks for correct or failure output for valid or invalid inputs. Unit test tests small pieces of code. Unit test cases simplify and make testing of coding easier because it becomes easier to resolve issues at later stage. Unit testing saves time and money because it is reusable and easy to maintain.

Integration Testing:

Integration testing is testing the integration of the different part of the system together. The goal of integration testing is to check for functionality, reliability, and performance of the system. It is done on modules that are unit tested first and then integration testing defines the combination of modules gives desired output or not. There are three approaches of integration testing: big bang, top-down and bottom-up.

Functional Testing:

Like unit testing name, functional testing is self-explanatory from its name. It is testing the functionality of the application. It tests whether the application is providing the desired output for a certain input. Testing is done by per requirement and scenario. Here are the major parts of functional testing: test summary, prerequisites (if any), test case input steps, test data (if any), expected output, and notes (if any)

Detailed differences are provided in a nice table format on the website, but the three testings’ techniques are correlated. Unit testing is needed for paths/lines of code, functional and integration testing is needed for assurance.

 

 

For more detail reading please visit:

http://www.softwaretestinghelp.com/the-difference-between-unit-integration-and-functional-testing/

From the blog CS443 Software Quality Assurance & Testing – Computer Science World by Haider Hussain and used with permission of the author. All other rights reserved by the author.

What Test Engineers do at Google: Building Test Infrastructure

Week 10 Blog Post for Software Testing

This week i decided to read what Test Engineers do at Google: Building Test Infrastructure by Jochen Wuttke

As google is a popular company and i am new to the world of testing, this article was of immediate interest to me. I was excited to learn what careers in testing were like and what better way to do that then by a test engineer at one of the most popular companies on the planet.  Although this article does not talk about all the different things that the test engineers do, it only discusses one aspect of their work which in this case is :building and improving test infrastructure to make engineers more productive.”

One part of this is replacing legacy systems. A legacy system at google was costing engineers countless hours that they could be spending elsewhere. A replacement takes a long time to build so they had to continue using and updating the legacy system as they went. However this allowed them to learn from the legacy system and not make the same mistakes in the new system. The engineers found two major concerns to fix in the new system. Those were “Tight coupling and insufficient abstraction made unit testing very hard, and as a consequence, a lot of end-to-end tests served as functional tests of that code. ” and ” The infrastructure used for the end-to-end tests had no good way to create and inject fakes or mocks for these services. As a result, the tests had to run the large number of servers for all these external dependencies. This led to very large and brittle tests that our existing test execution infrastructure was not able to handle reliably.”

Once they had found the problem they had to figure out the solution which is the hard part. After quite a few prototypes and a year of time a few testing engineers where able to build a new tool that solved the problems they were looking to solve. The next step was teh adoption of the new system, which is never an easy process. This process took them a couple of months in order to fully implement. The results were that the new tests were more effective at finding bugs. The new tests ran in 3 minutes compared the older suite running in thirty minutes and the client side tests are 0% percent flaky.

Although i didn’t completely the implementation it was quite interesting to see the process a tester took in their day to day lives.

Here are some other articles that i found interesting:

http://qahiccupps.blogspot.com/2016/11/something-of-note.html

https://blog.tentamen.eu/value-of-ui-automation-tests/

http://qahiccupps.blogspot.com/2016/11/the-dots.html

http://angryweasel.com/blog/teams/

 

From the blog CS@Worcester – Computer Science Journal by jtassone93 and used with permission of the author. All other rights reserved by the author.

Understanding The Difference Between Unit, Integration and Functional Testing

Week 9 Software Testing Blog

This week i have decided to read Understanding The Difference Between Unit, Integration and Functional Testing by Sushma S.
The article uses a login page as an example to help explain the difference between unit, integration, and functional testing. The reason for this is that a login page is extremely common and usually used in most web applications. It then goes over the cases for each type of testing and they are as follows:

Unit Testing –

Field  length for username and password

input field values should be valid

login button is enabled only after valid values are entered in both fields

Integration Testing –

user sees the welcome message after entering valid values and pushing the login button

users should be navigated to the welcome page or home page after valid entry and clicking login button

Functional Testing –

the expected behavior is checked

welcome message after succesfull login

can an inactivated user login

is there a forgot password link

Unit testing is generally done by the software developer who knows the code well. It is important for finding bugs early on in the development process, and is done before any integration or integration testing occurs. “Unit tests save time and cost, and it is reusable and easy to maintain”. After unit testing comes integration testing. After everything has been tested as a unit then integration testing occurs.
This when the units are put together and tested as a whole. This tests how the system works together and verifies that the behavior is correct. Then there is functional testing. This is a black box technique where the functionality of the system is tested. This basically means that we are testing that the behavior of the application and not the code itself. In order to successfully test an application you need to use all three testing methods. This provides the best test suite where any possible bugs should be found.

Here are some other links that i found usefulL:

https://blog.tentamen.eu/cleanup-order-in-selenium-headless-test/

http://www.softwaretestinghelp.com/how-perform-software-product-testing/

http://blog.smartbear.com/api-testing/top-5-api-testing-blog-posts-of-2016/

http://rhythmoftesting.blogspot.com/2016/12/thoughts-on-agile-testing-days-2016-pt-2.html

From the blog CS@Worcester – Computer Science Journal by jtassone93 and used with permission of the author. All other rights reserved by the author.

Week3: Organizing Tests with xUnit Traits

It is very important that the code you write or look at is well organized because it gives the code reader to break it down and understand it better. It also shows your image as a good coder. The author of the blog explains that for large numbers of tests, needs to be broken down into categories or groups which will provide clarity and insight to testing code. He suggests one way to do it is with xUnit which might also be refer to as TraitAttribute.

The blog explains couple of benefits using traits attributes as organizing tests: first, that traits attributes uses a name and value pair. Second, when using a GUI based test runner like test runner in Visual Studio tests can be sorted according. For tests by traits to run, both key and value of the trait has to be specified on the command line.

 

 

 

For further reading please visit:

http://www.brendanconnolly.net/organizing-tests-with-xunit-traits/

From the blog CS443 Software Quality Assurance & Testing – Computer Science World by Haider Hussain and used with permission of the author. All other rights reserved by the author.

V-Model Testing (WEEK 12)

The meaning of V-Model is Verification and Validation model. This model has the shape of V, the V-shape model is a path of executions which is followed in a logical order. Each phase must be completed before the next phase begins.When we have test a product must be planned in parallel with the corresponding phase in V-Model. First is very important to understand the Verification and Validation techniques before we learn about V-Model. Verification testing technique is done without executing any code and Validation testing technique is done by executing the code, Verification is a static analysis technique, Validation is a dynamic analysis technique. Both techniques are par of the V-Model. There are 7 phases that take place in V-Model. Here I’m listing the seven phases of V-Model: Requirement Specification, Preliminary Design, Detailed Design, Coding, Unit Testing, Integration Testing and System Testing. We usually apply V-Model for small to medium sized projects where requirements are clearly defined and fixed. 

This design shows the sequential path of execution process of V-Model.

In this paragraph I’m covering the pros and cons of V-Model. Some of the pros are: Development and progress is very organized. This model works well for smaller and medium sized projects. Another positive factor is easy to manage as each phase of this model. Some of the cons of V-Model are : V-Model doesn’t work for big and complex projects. The V-Model is not suitable if the requirements are not compatible.

To learn more about V-Model Testing please visit the website below.

Citation
http://www.softwaretestinghelp.com/what-is-stlc-v-model/

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

V-Model Testing (WEEK 12)

The meaning of V-Model is Verification and Validation model. This model has the shape of V, the V-shape model is a path of executions which is followed in a logical order. Each phase must be completed before the next phase begins.When we have test a product must be planned in parallel with the corresponding phase in V-Model. First is very important to understand the Verification and Validation techniques before we learn about V-Model. Verification testing technique is done without executing any code and Validation testing technique is done by executing the code, Verification is a static analysis technique, Validation is a dynamic analysis technique. Both techniques are par of the V-Model. There are 7 phases that take place in V-Model. Here I’m listing the seven phases of V-Model: Requirement Specification, Preliminary Design, Detailed Design, Coding, Unit Testing, Integration Testing and System Testing. We usually apply V-Model for small to medium sized projects where requirements are clearly defined and fixed. 

This design shows the sequential path of execution process of V-Model.

In this paragraph I’m covering the pros and cons of V-Model. Some of the pros are: Development and progress is very organized. This model works well for smaller and medium sized projects. Another positive factor is easy to manage as each phase of this model. Some of the cons of V-Model are : V-Model doesn’t work for big and complex projects. The V-Model is not suitable if the requirements are not compatible.

To learn more about V-Model Testing please visit the website below.

Citation
http://www.softwaretestinghelp.com/what-is-stlc-v-model/

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

V-Model Testing (WEEK 12)

The meaning of V-Model is Verification and Validation model. This model has the shape of V, the V-shape model is a path of executions which is followed in a logical order. Each phase must be completed before the next phase begins.When we have test a product must be planned in parallel with the corresponding phase in V-Model. First is very important to understand the Verification and Validation techniques before we learn about V-Model. Verification testing technique is done without executing any code and Validation testing technique is done by executing the code, Verification is a static analysis technique, Validation is a dynamic analysis technique. Both techniques are par of the V-Model. There are 7 phases that take place in V-Model. Here I’m listing the seven phases of V-Model: Requirement Specification, Preliminary Design, Detailed Design, Coding, Unit Testing, Integration Testing and System Testing. We usually apply V-Model for small to medium sized projects where requirements are clearly defined and fixed. 

This design shows the sequential path of execution process of V-Model.

In this paragraph I’m covering the pros and cons of V-Model. Some of the pros are: Development and progress is very organized. This model works well for smaller and medium sized projects. Another positive factor is easy to manage as each phase of this model. Some of the cons of V-Model are : V-Model doesn’t work for big and complex projects. The V-Model is not suitable if the requirements are not compatible.

To learn more about V-Model Testing please visit the website below.

Citation
http://www.softwaretestinghelp.com/what-is-stlc-v-model/

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

V-Model Testing (WEEK 12)

The meaning of V-Model is Verification and Validation model. This model has the shape of V, the V-shape model is a path of executions which is followed in a logical order. Each phase must be completed before the next phase begins.When we have test a product must be planned in parallel with the corresponding phase in V-Model. First is very important to understand the Verification and Validation techniques before we learn about V-Model. Verification testing technique is done without executing any code and Validation testing technique is done by executing the code, Verification is a static analysis technique, Validation is a dynamic analysis technique. Both techniques are par of the V-Model. There are 7 phases that take place in V-Model. Here I’m listing the seven phases of V-Model: Requirement Specification, Preliminary Design, Detailed Design, Coding, Unit Testing, Integration Testing and System Testing. We usually apply V-Model for small to medium sized projects where requirements are clearly defined and fixed. 

This design shows the sequential path of execution process of V-Model.

In this paragraph I’m covering the pros and cons of V-Model. Some of the pros are: Development and progress is very organized. This model works well for smaller and medium sized projects. Another positive factor is easy to manage as each phase of this model. Some of the cons of V-Model are : V-Model doesn’t work for big and complex projects. The V-Model is not suitable if the requirements are not compatible.

To learn more about V-Model Testing please visit the website below.

Citation
http://www.softwaretestinghelp.com/what-is-stlc-v-model/

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

V-Model Testing (WEEK 12)

The meaning of V-Model is Verification and Validation model. This model has the shape of V, the V-shape model is a path of executions which is followed in a logical order. Each phase must be completed before the next phase begins.When we have test a product must be planned in parallel with the corresponding phase in V-Model. First is very important to understand the Verification and Validation techniques before we learn about V-Model. Verification testing technique is done without executing any code and Validation testing technique is done by executing the code, Verification is a static analysis technique, Validation is a dynamic analysis technique. Both techniques are par of the V-Model. There are 7 phases that take place in V-Model. Here I’m listing the seven phases of V-Model: Requirement Specification, Preliminary Design, Detailed Design, Coding, Unit Testing, Integration Testing and System Testing. We usually apply V-Model for small to medium sized projects where requirements are clearly defined and fixed. 

This design shows the sequential path of execution process of V-Model.

In this paragraph I’m covering the pros and cons of V-Model. Some of the pros are: Development and progress is very organized. This model works well for smaller and medium sized projects. Another positive factor is easy to manage as each phase of this model. Some of the cons of V-Model are : V-Model doesn’t work for big and complex projects. The V-Model is not suitable if the requirements are not compatible.

To learn more about V-Model Testing please visit the website below.

Citation
http://www.softwaretestinghelp.com/what-is-stlc-v-model/

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

V-Model Testing (WEEK 12)

The meaning of V-Model is Verification and Validation model. This model has the shape of V, the V-shape model is a path of executions which is followed in a logical order. Each phase must be completed before the next phase begins.When we have test a product must be planned in parallel with the corresponding phase in V-Model. First is very important to understand the Verification and Validation techniques before we learn about V-Model. Verification testing technique is done without executing any code and Validation testing technique is done by executing the code, Verification is a static analysis technique, Validation is a dynamic analysis technique. Both techniques are par of the V-Model. There are 7 phases that take place in V-Model. Here I’m listing the seven phases of V-Model: Requirement Specification, Preliminary Design, Detailed Design, Coding, Unit Testing, Integration Testing and System Testing. We usually apply V-Model for small to medium sized projects where requirements are clearly defined and fixed. 

This design shows the sequential path of execution process of V-Model.

In this paragraph I’m covering the pros and cons of V-Model. Some of the pros are: Development and progress is very organized. This model works well for smaller and medium sized projects. Another positive factor is easy to manage as each phase of this model. Some of the cons of V-Model are : V-Model doesn’t work for big and complex projects. The V-Model is not suitable if the requirements are not compatible.

To learn more about V-Model Testing please visit the website below.

Citation
http://www.softwaretestinghelp.com/what-is-stlc-v-model/

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