My First Post      My Facebook Profile      My MeOnShow Profile      W3LC Facebook Page      Learners Consortium Group      Job Portal      Shopping

Thursday, February 17, 2011

Types of Software Testing

Oh Please! This post is not describing Black box and Whitebox testing etc. For this consult Textbooks (best resource) or millions of website over this. This is just to give you a checklist of various subcategories, each of which is done for different purposes, and often using different techniques.

• Functionality testing to verify the proper functionality of the software, including validation of system and business requirements, validation of formulas and calculations, as well as testing of user interface functionality. Basically testing whether it does what it intends to do.

• Usability testing to ensure that the software is easy and intuitive to use.

• Multithreading testing to see what is impact of running several threads.

• Performance testing to see how well software performs in terms of the speed of computations and responsiveness to the end-user. Just see the time and resources being consumed up. Sometimes even preparing a baseline even sucks!!! At Symantec we clubbed this together with some other stuff and collectively Called this persistence testing.

• Internationalization and Locale testing. Cum’on this needs no explaination for a tester. And if you are not the one, you would never want to know that. Ah! Actually it is beyond the scope to describe how it is done. Since linguistics testing also sometimes get clubbed with this. Some other time..

• Scalability testing to ensure that the software will function well as the number of users and size of databases increase.

• Stress testing to see how the system performs under extreme conditions, such as a very large number of simultaneous users.

• Forced error testing, or attempting to break and fix the software during testing so that customers do not break it in production. That is where hacking also comes into picture

• PCI Compliance testing. This becomes very important if your sales ( bread and butter guys!!) comes from online payment. The Online payment Industry has strict guidelines on Security testing and audits. Veracode again come into picture if you want to outsource this work to a professionally organized group.

• Compatibility testing to check that your software is compatible with various hardware platforms, operating systems, other software packages, and even previous releases of the same software. I remember days when in Adobe I was once testing AcrobatX. It was a really really huge task. You can see my name in Credits page on Adobe Website. Refer Anwar in AcrobatX Credits

• Application security testing to make sure that valuable and sensitive data cannot be accessed inappropriately or compromised under concerted attack. Using your coding, tweaking pointers, tweaking built in operators such as new/delete, using tools like BoundsChecker, Fortify, Application Verifier etc come to your rescue. You can also employ Veracode (See my previous details on VeraCode )

No comments:

Post a Comment