Hey everyone...
Now, here is a post that will interest if you are aiming for foundation level of testing certifications such as ISTQB, CSTE, etc., Even if not, these information that is good to know if you are remotely associated to software testing. And what more, if you are a QA professional and looking for a job change, this is the first thing you would want to refresh. Here, are the most commonly and widely used types of software testing methods across the industry. Yes, we agree that there is a plethora of websites having this info. Our blog just comes with the USP that, the descriptions presented here are from QA Veterans with decade of experience in Software testing. And all of it are here for you, free of cost. Read on, and get some good dose of knowledge on testing types.
Now, here is a post that will interest if you are aiming for foundation level of testing certifications such as ISTQB, CSTE, etc., Even if not, these information that is good to know if you are remotely associated to software testing. And what more, if you are a QA professional and looking for a job change, this is the first thing you would want to refresh. Here, are the most commonly and widely used types of software testing methods across the industry. Yes, we agree that there is a plethora of websites having this info. Our blog just comes with the USP that, the descriptions presented here are from QA Veterans with decade of experience in Software testing. And all of it are here for you, free of cost. Read on, and get some good dose of knowledge on testing types.
Testing can be broadly classified into two types,
"Static" and "Dynamic". All other testing types will fall
under any one of these major classifications.
Static Testing :- Now, this is the testing activities that
the QA Team does, even before the actual testing starts. In other words, This
the bug finding activity that can happen even before the development phase
starts. Confused? rings a bell in on how testing can happen without the actual
product to be developed is not in place? Yes, it can. The reviews. You read it
right. The requirement walk-through, development design review, peer reviews,
everything is considered as an opportunity for testing in a tester's point of view.
Consider this, A tester is reviewing the requirement document to understand it
and finds some deviation using his previous knowledge in the product/domain.
Yes, that's also is a kind of static testing.
Dynamic Testing(Functional and non-Functional):- This is
part where the Tester's rules. During this phase only they will have hands on
experience with the application under test. But wait does the tester will get
handed the application straight after its developed? Hopefully not, if that
organization is practicing the CMM. Let's go step by step.
Let's assume that, We need to develop a new page in a job portal website to show
"jobs applied for the past one week" as per a client's Project
Request . With this, we shall walk through the types of testing that can be
applied for this activity.
Unit Testing:- So, both the Dev and Testing team understood the
requirements and what happens next, Developer team will come up with a
Technical Design document and build the webpage as per the Design. Once the
coding is completed, The Developer will do a round of testing of his own code
and make sure that it is working as expected. This is Unit Testing. This
happens before giving the code to the Testing team. Most of the minor and naked
defects would've been found and rectified by the development team at this
stage.
Integration Testing:- Unit testing is done by isolating the
newly developed page alone and check is done for its functionalities alone.
However, the newly developed code should work correctly when it is put into
actual use. That is, when the page becomes the part of the web site. In other
words, when the page is integrated to the Website. Testing the newly developed
page after integrating it to the actual website is called integration testing.
This testing can be done either when the unit testing is completed or after one
round of Testing by QA Team depending on the complexity and client's
preference.
Smoke Testing:- Once the unit and integration testing is
completed, the code will now be formally handed over to the QA Team for
testing. This code migration from Dev environment to QA Environment or any
environment will always be handled by a separate team in most of the
organizations. It's the configuration Management team that does the job. Once
the code is available in QA Region,
testing team will not directly jump into testing the crux. Usually, a
preliminary testing will be done to make sure that the basic/key
functionalities are working. Only after which, Testing team will enter into
formal test cycles. Without the basic/key features working, there is no point
continuing further testing. Smoke testing is done basically to check whether
these functionalities are working and whether it is good to go with further
testing.
Sanity Testing:- Once the code is delivered to higher test
regions , there will be some very high level testing done by the QA team to
make sure the system/region is not broken due to the new build. This is called
Sanity testing. Now, there might be a confusion between Smoke and Sanity
testing. Let's put it this way. Smoke testing is done to make sure that the
further testing will be meaning full or not. Sanity testing is done basically
to ensure the system stability after the new code is introduced.
System Testing:- This is the area where full test execution of
the project will happen. QA will test the length and breadth of the application
functionalities including the usability, data, etc.
End to end Testing:- This part is nothing but if one
application under test is interacts with other application(This might be a
third party application or different application providing different services
within the organization itself) . In our example(job portal website to show
"jobs applied for the past one week"), say when the user clicks on
the a specific job application status it might navigate to the respective
company's career website to show the application status. So this part needs to
get tested. I mean full end to end process.
Regression Testing:- The purpose of this testing is to make
sure existing functionalities are not broken due to new code. Normally
regression testing is done after the completion of all formal testing steps are
done to make sure that the newly developed functionality is working fine. Its a
common practice for every organization to have a separate window for conducting
regression testing. Mostly after the testing cycle us completed and before
moving to higher regions like XAT/UAT/Production (XAT/UAT are regions which are
dedicated for client testing which will be an exact replica of Production
environment)
Performance Testing:- This is the Non-functional type of
Testing, where application will get treated with heavy load of users and its
behavior. For ex, QA will be testing the behavior of the application when a
large data chunk needs to be handled. Say, how the application will behave when
it encounters its peak capacity, etc.,
Security Testing:- Infosec/Appsec testing as it is famously
called, is another non-functional testing type where the application is tested
for security. Whether it can be hacked easily, whether there is any possible
data leakage points, etc., Though non-functional, this testing plays a crucial
part in most of the applications that deals with user data ranging from banking
to social networking.
Beta Testing:- So, Now our newly built web page has passed all
the above testing hurdles and standing proud after the sign-off from QA Team
stating that the new code is fit for production. The new page will now be
released to a specific set of audience who is a small subset of the target
users of the application. The users will use the new application and provide
their feedback. This is called as beta testing Based on the feedback, minor
changes are done in the application if needed before releasing the product to
the general audience.
You may want to thank us now for the gyan on types of testing as it will be useful for your certification, your interview, etc., But wait, there is a lot to come.There's just one more formal post on various standard testing techniques post which, our blog will jump into explosive mode and explore a lot of cutting edge testing technologies and the current affairs of the industry. Stay tuned. Cya!!!
No comments:
Post a Comment