Wednesday, August 6, 2008

Crossword on Software Testing

Have you ever felt bored testing software? How about a bit of relief from this tedious work? How about a little bit of fun as well as learning?

Register yourself at the following website in order to complete a challenging new crossword puzzle on software testing every week.

http://www.accenturesoftwaretestingchallenge.com/activityCornerCP.php

This activity is really enjoyable and fun!

Tuesday, August 5, 2008

How do you feel about software testing?

If software testing is not your cup of tea, why not visit the following website?

http://www.softwaretestingsucks.com/

Irrespective of whatever the title suggests, this website has some information about software testing you might want to go through. However, there is a lighter side also. Visit the 'Testing Jokes' section when you get tired of the serious stuff. I really liked this section. Enjoy!

Testing Strategies (Approaches)

The test approach (or strategy) to be followed for a particular testing assignment needs to be decided during the planning phase and should be finalized after considering all factors which may affect its selection (including risks, business requirements, regulatory requirements, testing objectives and, availability of desired skills). It is a strong determinant of success in the testing effort.

One factor used for classification of different test approaches is based on the relative time at which a majority of the test design work is started. Primarily, the approaches can be classified into preventive approaches vs. reactive approaches. As the names suggest, a preventive approach involves early analysis of the test basis and attempts to minimize the number of errors slipping on to the test execution phase whereas a reactive approach concentrates on detection of defects after the sytem or software has already been produced.

Following are the major test strategies (along with brief descriptions), which are commonly followed in software testing assignments. Remember that there is no best approach and that it might be advisable to use a combination of different test appraoches:

(1) Analytical Approach: This test approach is based on an analysis of some factor, which strongly effects the testing environment, e.g., Requirements might be analyzed in order to design a test approach such that the most important requirements get tested first and test cases for other requirements get designed / executed later. Another exercise commonly performed is Risk Analysis, where tests are designed and proritized such that the critical risks get eliminated at the earliest possible time. This approach is an example of preventive test approach, since we are analyzing and prioritizing test cases early on, based on an analysis of some factor contributing to the testing environment.

(2) Model-based approach: Here, the tests are designed based on some mathematical or stochastic (statistical) model of the object functionality. As an example, if a model predicts the failure rates of a particular system (or software) under some conditions, and the failure rate of our product is as stipulated by the model under the specified conditions, then our product is assumed to be working fine. This approach pays emphasis on identification and selection of the appropriate model during the early stages of SDLC and is a preventive test approach.

(3) Methodical Approach: This test approach depends heavily upon following a pre-determined method to perform testing. The method used can vary widely, ranging from adherence to certain checklists to error guessing and experience-based approaches. Here, tests are designed, executed and implemented in accordance with the selected method. Actual testing effort may get started early on or later during the SDLC when following this testing approach.

(4) Process-or Standard-compliant Approach: As the name suggests, this testing approach recommends designing and creation of test assets based on some externally developed industry standard, e.g., Tests could be designed based on IEEE 829 standards. As an alternative, one of the agile methodologies, such as Xtreme Programming (XP), might be adopted. Again, actual testing effort might get started early on or later during the SDLC when this approach is selected.

(5) Dynamic (Heuristic) Approach: This test approach involves performing heuristic testing. Exploratory testing is a good example of the type of testing performed, when this approach is followed. Here, the tests are designed and executed simultaneously, and hence, it is a reactive test approach.

(6) Consultative Approach: This test approach advocates dependency on the advice of business domain and/or technical experts outside the test team in order to drive test coverage and design. Testing here may be dictated by the end users of the system or else it may be directed by some outside technical experts (e.g., experts on security testing etc.).

(7) Regression-averse Approach: This approach recommends designing tests such that regression defects get detected at the earliest. This may involve extensive automation of functional regression tests as well as re-use of existing test material.

All these test strategies should be considered and the best one selected for any given situation, based on the circumstances in which a testing project is getting executed.

Brainbench Certification in Software Testing

This is another certification exam that is really good. Consiting of a total of 40 questions, it tests your knowledge of various software testing concepts in a holistic manner. I really recommend that you try appearing in this exam as well. As of now, this exam is priced at $49.95. However, keep a look on the website and you will encounter some promotional offer when you can appear in it free of cost. (Brainbench offers some of its certification exams free of cost as a promotional measure at different times of the year).

I am also Brainbench certified in Software Testing and would like to let you know that the experience of appearing in this exam itself is unique (it is an online exam and you can take it from the comfort of your home). Details are available at: http://www.brainbench.com. Please let me know if there are any queries.

Software Testing Videos

I have added some videos on software testing to my blog. Please make sure that you go through them as soon as you get a chance, in order to familiarize yourself with the best practices in our discipline. These videos have been delivered by the experts in software testing and contain really useful information for practitioners of our field. Besides, they will force you to think over the software testing practices being followed by you and improve upon the same. Do let me know if there is any particular topic you would like to learn more about.

Difference between ISEB and ISTQB certification

I have received a query regarding the difference between ISEB and ISTQB certification. I will point you to the authentic source of this information, so that you do not get confused or misled by anyone else.

Please visit the following link:
http://www.bcs.org/server.php?show=ConWebDoc.3324&viewPage=1

If there are any more queries, please share them with me.