1. Title: Some Functional Testing Types
Functional testing is done to target and ensure the business objectives are met. The focus of this
testing to ensure the functionality meets the business requirements. The goal of the testing is to certify
and authenticate the behavior of the system and test if all the requirements mentioned in the BRD
and/or functional specifications are met. It ensures that the application is tested and ready to be
liberated and implemented.
Unit Testing – This type of testing is mostly carried out by the developer or programmer to check the
code is correct and that it executes properly. The unit testing is part of white box testing method which
sometimes includes building a test plan, writing unit test case scripts and run the tests. It indentifies
any defects in the functionality of the application. This is generally performed by programmers in the
Development environment or on their local machines and done at the code level. Since, unit testing is
the first stage of dynamic testing so more the bugs detected in this stage will prevent defects from
flowing into the subsequent phases and also save cost if and when identified in the other levels of
testing or subsequent test efforts.
System Testing - The Testing is performed to establish that the applications functionality meets its
intended business goals and purposes are met. It also factors in other subsystems which are tested
individually as well together to identify defects within the system itself. Independent system testers
perform the testing, building a system test plan and executing the test plan. Generally done in a
different environment other than development environment where the system under test is the focus
using different sets of test data for various test conditions.
Regression Testing – This testing type done to assure the quality of the software is maintained and any
existing changes made to the code didn’t introduce any new defect to the project or broken something
that was previously working. This testing type although must be done whenever code changes are
done, it is impractical to do it. Generally a subset of the passed test cases focusing on the core
functionality is done during the testing period and a separate cycle of testing done towards the end
prior to UAT or during UAT to ensure the application is still working as per its design subsequent to all
the defect fixes being complete.
Integration Testing – Also known as System Integration Testing, this is performed to certify the
software is well aligned with the other existing software applications and systems. The focus of this
test effort to identify the cross impact of the application under test on other systems/applications and
vice versa. This testing can carried out in 3 ways – Bottom up-method which is carried out first , where
the units are testing from higher level to lower level and the second one is top-down which is vice
versa. The third one is hybrid approach which is a combination of bottom up and top down approach.
2. Since testing is context dependent, it is important to identify where the connections are and how the
data flows in between the systems. A combination of Black box and Gray box testing method could be
used to perform this testing. Sometimes a separate Integration testing plan is created for complex
implementations.
User Acceptance Testing – Also called as Business Acceptance Testing, this testing type is the final
stage of testing which assures that the all business needs and commitments are fulfilled. Ideally
speaking the business users or end users of the application should be testing the software by putting it
through user scenarios. Sometimes, it is also called “Beta Testing “which focus on the real world use
cases. This testing is performed to prove that the application can support the daily working of the
business while maintaining the overall quality of the system at the same time. The testing team may
support the UAT testers in this effort. Sometimes the users will randomly test the application before a
formal sign off is provided.
About Us: Headquartered in Toronto, Stepin2IT is one of the fastest growing training organizations in
North America providing training programs that are aimed at bridging the skills gap and to develop the
knowledge base and skill set of its trainees. We are committed to be the training provider of choice for
individuals and organizations alike. We are a growth-oriented, customer-focused, integrated training
organization focused on delivering “Hands on IT training” which believes in “Transforming IT
education into job skills”. We provide a wide variety of training programs aligned with industry
requirements. For more information on Software Testing training or QA Training in Toronto or
elsewhere contact us now on 416.743.6333 or info@stepin2it.com