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

Showing posts with label Software Testing Process. Show all posts
Showing posts with label Software Testing Process. Show all posts

Saturday, December 3, 2011

Pair Testing in Agile

Pair Testing in Agile

Pair testing is a practice which two team members are sitting together to test the software application on the same machine. The two team members can be between one tester and developer/business analyst/another tester.
Pair Testing

My team has applied this practice and these are benefits that I have found from Pair Testing.
1. Developers will know how testers do software testing. So, developers can apply test strategy for their own testing during coding.
2. Testers will have more idea about how the software works. This will make testers improve their test strategy and see the risk or impact in this code.
3. Tester can use it for on-the-job training to teach new tester by working together between experienced tester and new tester.
4. Face-to-face communication is used follows the Agile method.

This practice is time consuming activity so we should apply this practice if we see the benefit from this knowledge sharing.

Friday, December 2, 2011

Software Testing in Agile

Software Testing in Agile

Software Testing in Agile is a software testing practice which follows the rules of the Agile Manifesto. This agile testing practice involves testing from the customer perspective as early as possible, testing early and often because software will be released very often. To optimize the regression test effort and reduce the number of escaped bugs because of incremental development in agile testing, the automated testing should be used.
Automated testing of software testing in agile
Automated Testing of Software Testing in Agile
The test cases are created and will be submitted to the developer before starting of actual development work. This allows the developers to get better understanding of the requirements. Software Testing in Agile requires tester to have more technical knowledge for interacting with developer and business knowledge for interacting with business analyst. The knowledge of testers will be improved continuously because the team will work together daily throughout the project.

Monday, November 21, 2011

Process When Testing A Software

Process When Testing A Software

Here are basic activities of testing process that I normally use when I need to execute testing a software. The process will start from planning and end with evaluation the process.

1. Test Planning and Control

First of all, we set the goal and scope of testing when we plan to do testing a software. This goal is based on the objective of the project. We define approach and plan for software testing. Then, we define the test approach which includes coverage, test resources, schedule of all the tasks, exit criteria and so on. We will control and measure project's progress against the plan continuously.

2. Test Analysis and Design

After we have a plan from the first step, we start building test design and test procedure. Evaluate the requirement and system. Identify test condition, required test environment and tools for software testing.

3. Execution

We build the test cases by using Black Box Testing Techniques and set up the test environment and tools for software testing. The test cases will be reviewed if it is required. Then, we execute software testing and recording the test result. If there are difference between expected result and actual result, we will analyze them to see the root cause of defect and record them.

4. Evaluating and Reporting

We use the exit criteria to check if software testing can be done. If it is done, we can make a summary report for stakeholders.

5. Project Evaluation

Evaluate and analyze the lesson from this project. Implement action plan if it is need for continuous improvement. Please keep in mind that we always need to evaluate when we do testing a software.

Saturday, November 19, 2011

Is it necessary to have Integration Testing Phase?

Is it necessary to have Integration Testing Phase?

Since the Integration testing can be done in several levels, I will choose one level as example for this article. The Integration testing that I choose is the software testing for interaction between 2 systems which occurs after System Testing Phase. However, the idea from this article can be applied to other level of Integration Testing Phase as well.


"Is Integration Testing Phase necessary?" This question may be in some testers' mind after they need to do the same testing as System Testing Phase. My answer of this always is "Yes, Of Course". Let see what I have experienced.

I have assigned to do website testing and this website consumes data from various data sources. There are plans to release new version of many data sources on the same date as my website.
integration testing diagram

I have done my website testing in System Testing Phase and the result looks good. No pending bug from my website testing. Then, I wait until start date of the Integration Testing Phase which every data sources are ready. Shock!!! My website is broken when I do website testing on Integration Testing Phase. What's wrong with my test result from prior website testing?

The issue has been raised to developers for investigation and they take one week to investigate the issue. The problem comes from the new version of one data source. Its version in website testing's report from system test environment is older than integration test.
--------------------------------------------------------------------------

From this lesson, I always think about the dependency of my system. Then, manage the risk from them. Finally, do the software testing as soon as possible if the Integration Testing Phase is ready.

Friday, November 18, 2011

Software Testing in Requirement Analysis

Software Testing in Requirement Analysis

I have found that many bugs are introduced during Requirement Phase but testers can detect them during do software testing. If they can detect bugs in Requirement Phase, the cost for fixing them will be cheaper. So, it is worth to remove them during this phase. Here is some activity that tester can involve.

Keep in mind that the requirement must be clear

The good requirement must be clear, measurable, testable and defined enough for system design. Moreover, the requirement must be fulfilled by using client's information. Don't try to answer the query ourselves with any assumption. If they are not clear, we should not let it go to the next development phase.

Using software testing skill to explore the missing cases in requirement

Let using testing design skill for requirement analysis by thinking about the possible cases for the requirement. Then, try to summarize the list of question for client. Again!!! Don't try to answer the query ourselves.

Don't limit the first idea by technical constraint

The first idea for detail of requirement often has been limited by technical constraint. From my view, we should drive the requirement by business need first. The requirement adjustment because of technical constraint should come later.

Don't shy to ask any question

Tester is one of the project member. So, we should not shy to ask any question or raise any concern. Our question or concern may be the significant issue for the requirement analysis.
----------------------------------------------------------------------------

Tester is one of the project member. We can improve the quality of project by contributing our value since the Requirement Analysis activity.

Thursday, November 17, 2011

Development Model : V Model For Testing

Development Model : V Model For Testing

V Model is a development model which demonstrates the relationship between each phase of development life cycle and related phase of software testing. The left side of the V Model consists of development phase and the right side of the V Model consists of software testing phase. The flow of V Model will be start at Requirement phase and end at Acceptance Testing phase. 
v model for testing

Testing document in a software testing phase will be derived from the document in development phase that stays at the same level (e.g., Acceptance Testing and Requirement Phase, System Testing and Specification Phase). So, tester can start working on software testing activity as soon as the development activity starts.


The benefit from early software testing activity is that we can detect some faults early. As a result of early fault detection, the cost for fixing will be less.

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More