THE GATE TO THE REAL SOFTWARE TESTING EXPERIENCE AND KNOWLEDGE IN "TESTING A SOFTWARE" WORLD

Monday, December 12, 2011

Tips to improve technical knowledge for tester in Agile Testing

Tips to improve technical knowledge for tester in Agile Testing

It is important for tester who participates in Agile Testing to improve technical knowledge. This knowledge is essential for discussing with developer. So, I summarize the key things that I normally use for improving my technical knowledge.

Tips to improve technical knowledge

1. Learn the technology and architecture of our software
First of all, we should understand which technology is used for implementing our application and what it is. Then, we should understand the high-level architecture. For example, my project is about web application which consumes data from 3 web services in different server. From this information, you will know the dependency, risk and limitation of our system. For example, the change in web service is the risk in our project.

2. Discuss with developer. Don't be shy.
As we usually use face-to-face communication in agile, this is a good chance to talk to developer in various technical aspects. I normally use this chance to learn the high-level design of new feature. We should not just listen. We should think and analyze the developer's design as well. From this activity, we may find the wrong design and can provide the valid feedback to developers. This is good thing because we can fix the issue earlier.

Thursday, December 8, 2011

What is Regression Testing? Why should we use Regression Testing?

What is Regression Testing? Why should we use Regression Testing?

What is Regression Testing?

Regression Testing is software testing activity that is used to ensure that existing functionality has no impact from change in a system, such as functional enhancements, patches or configuration/environment changes. Regression Testing is activity that rerun previously run tests (Existing functionality) and check whether existing behavior has change.

Why should we use Regression Testing?

There are many kinds of change that cause impact to an existing functionality. The simplest change that can have impact is the new version of Operating System. I am quite sure that you used to try to install an application but it was not allowed because of supported Operating System. The reason is that there is possibility that developer have to code in different way for a specific Operating System. So, the new version (change) of Operating System can impact the existing functionality and Regression Testing is required to check if we can support.

The Operating System is not only one thing that can impact your existing functionality. Everything that stays around existing functionality can impact (e.g., web browser, web service, database, another functionality change in the same software package).
Regression Testing

From above issue, the Regression Testing is used widely to ensure that the quality of software is good when there is change in software environment.

Sunday, December 4, 2011

Test-Driven Development (TDD) in Agile

Test-Driven Development (TDD) in Agile

Test-Driven Development (TDD) is a developer's process that focus on "Build the test first". First the developer creates the automated unit tests that defines a desired expectation of new function then produces code to pass that test. After that, developers refactor to optimize the code and then, retest it. Passing the tests confirms correct expected behavior as developers build and refactor the code.

Test-Driven Development (TDD) process will help developers save their manpower for unit testing if they have to retest often. So, this process will support Agile method because developers have to deliver working software frequently in Agile.

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More