Friday, September 25, 2020

Software Testing

 



-------------------------------------------------------------------------------------


The difference between Alpha and Beta Testing is as follow:

ALPHA TESTINGBETA TESTING
Alpha testing involves both the white box and black box testing.Beta testing commonly uses black box testing.
Alpha testing is performed by testers who are usually internal employees of the organization.Beta testing is performed by clients who are not part of the organization.
Alpha testing is performed at developer’s site.Beta testing is performed at end-user of the product.
Reliability and security testing are not checked in alpha testing.Reliability, security and robustness are checked during beta testing.
Alpha testing ensures the quality of the product before forwarding to beta testing.Beta testing also concentrates on the quality of the product but collects users input on the product and ensures that the product is ready for real time users.
Alpha testing requires a testing environment or a lab.Beta testing doesn’t require a testing environment or lab.
Alpha testing may require long execution cycle.Beta testing requires only a few weeks of execution.
Developers can immediately address the critical issues or fixes in alpha testing. Most of the issues or feedback collected from beta testing will be implemented in future versions of the product.


Sr. No.KeyUnit TestingSandwich Testing
1DefinitionUnit testing is a testing in which tester tests only single module at a time and not the integrated version of the application.On other hand Sandwich testing is the type of testing where each module is treated as separate target for testing and these modules are getting integrate one by one after testing completed on them.
2ApproachIn case of unit testing single module testing approach is taken in practice.While in case of Sandwich testing it comprise the bottom-up approach testing and top-down approach testing.
3DefectsAs single module is tested in Unit testing so defects get easily identified and are locked as per module.On other hand in case of sandwich testing modules are getting integrated after testing so defects are not easily identified as modules get dependent on each other up to some extent.
4Practice and PreferenceUnit testing is generally doing not depend on the size of project so can be performed in both small and large size of projects.On other hand Sandwich testing mostly preferred for the large size projects as they have more number of modules.
5Parallel TestingParallel testing is not supported in case of Unit testing as single module plays role in case of Unit testing.On other hand in case of Sandwich testing parallel testing is supported as multiple modules can be get tested in parallel.
6Cost effectiveUnit testing have less cost as compare to Sandwich testing as less number of resources are required in this type of testing.On other hand in case of sandwich testing cost is comparatively higher as more number of resources is required in this type of testing.
7PerformancePerformance of unit testing is high as compare to Sandwich testing as single module is get tested at a time.On other hand sandwich testing has lower performance as compare to Unit testing as multiple and integrated modules get tested at same time.






Interface VS inheritance


DescriptionInheritance is the mechanism in java by which one class is allowed to inherit the features of another class.Interface is the blueprint of the class. It specifies what a class must do and not how. Like a class, an interface can have methods and variables, but the methods declared in an interface are by default abstract (only method signature, no body).
UseIt is used to get the features of another class.It is used to provide total abstraction.
Syntaxclass subclass_name extends superclass_name {
}
interface <interface_name>{
}
Number of InheritanceIt is used to provide 4 types of inheritance. (multi-level, simple, hybrid and hierarchical inheritance)It is used to provide 1 types of inheritance (multiple).
KeywordsIt uses extends keyword.It uses implements keyword.
InheritanceWe can inherit lesser classes than Interface if we use Inheritance.We can inherit enormously more classes than Inheritance, if we use Interface.
Method DefinitionMethods can be defined inside the class in case of Inheritance.Methods cannot be defined inside the class in case of Interface (except by using static and default keywords).
OverloadingIt overloads the system if we try to extend a lot of classes.System is not overloaded, no matter how many classes we implement.
Functionality ProvidedIt does not provide the functionality of loose couplingIt provides the functionality of loose coupling.
Multiple InheritanceWe cannot do multiple inheritance (causes compile time error).We can do multiple inheritance using interfaces.

No comments:

Post a Comment