So, this blog comes from one of the events I had set up for CodeChix Seattle. This event took place on 02/02/2013. I, seriously, cannot believe that that was two years ago! Hope you learn a thing or two about testing mobile devices and please don't forget to leave me comments on what you thoughts are.
What is testing?
Well, this question is not as simple as it sounds!
There are three different but unique methods of testing. Let's take a look at them from basic method to complex method!
What is testing?
Well, this question is not as simple as it sounds!
There are three different but unique methods of testing. Let's take a look at them from basic method to complex method!
- Black Box Method
- White Box Method
- Grey Box Method
Now, we shall go into details for each and everyone one of them!
Black Box Method
- Testing without having any knowledge of the interior workings of the application.
- Also known as closed box testing, data driven testing and functional testing.
- The tester has no access to the source code.
- Only done by trial and error method.
- STE is one of the roles that requires the knowledge of black box testing.
White Box Method
- The detailed investigation of internal logic and structure of the code.
- It is also known as the clear box testing.
- In order to perform white box testing, the tester needs to the knowledge of programming languages (C#, Java, Python, SQL...)
- Normally done by the testers and developers
- SDE, SDET roles are usually require the knowledge of white box testing.
Grey Box Method
- Requires limited knowledge of the internal workings of an application being tested.
- Also known as translucent box testing.
- Performed by end users and also by testers and developers.
- SDET, QA Engineer
Now that we know the different methods, we should know what different types of testing is required while testing any type of software.
Unit testing: Testing of individual software components or modules. Typically done by the programmer and not by testers, as it requires detailed knowledge of the internal program design and code.
Functional testing: This type of testing ignores the internal parts and focus on the output is as per requirement or not.
System testing: Entire system is tested as per the requirements. Black box testing that is based on overall requirements specifications, covers all combined parts of a system.
Recovery testing: Testing how well a system recovers from crashes, hardware failures, or other catastrophic problems.
Sanity testing: Testing to determine if a new software version is performing well enough to accept it for a major testing effort.
Regression testing: Testing the application as a whole for the modification in any module or functionality. Difficult to cover all the system in regression testing so typically automation tools are used for these testing types.
Performance testing: Term often used interchangeably with 'stress' and 'load' testing. To check whether system meets performance requirements. Used different performance and load tools to do this.
Usability testing: User-friendliness check. Application flow is tested, can new user understand the application easily, proper help documented whenever user stuck at any point. Basically system navigation is checked in this testing.
Compatibility testing: Testing how well software performs in a particular hardware/software/operating system/network environment and different combinations of above.
Alpha testing: In house virtual user environment can be created for this type of testing. Testing is done at the end of development. Still minor design changes may be made as a result of such testing.
Beta testing: Testing typically done by end-users or other. Final testing before releasing application for commercial purpose.
That is all I have for now, more to come later!
No comments:
Post a Comment