Oose Notes
Oose Notes
Module Coupling
Module Cohesion
Coupling Cohesion
While creating, you should aim for While creating you should
low coupling, i.e., dependency aim for high cohesion, i.e., a
among modules should be less. cohesive component/
module focuses on a single
function (i.e., single-
mindedness) with little
interaction with other
modules of the system.
Code implementation is
Implementation of code is not
necessary for white box
needed for black box testing.
testing.
It is comparatively more
It is less exhaustive as
exhaustive than black box
compared to white box testing.
testing.
White Box Testing
o Path testing
o Loop testing
o Condition testing
o Testing based on the memory perspective
o Test performance of the program
Path testing
In the path testing, we will write the flow graphs and test all
independent paths. Here writing the flow graph implies that
flow graphs are representing the flow of the program
Loop testing
In the loop testing, we will test the loops such as while, for,
and do-while, etc. and also check for ending condition if
working correctly and if the size of the conditions is enough.
1. {
2. while(50,000)
3. ……
4. ……
5. }
Condition testing
For example:
1. if(condition) - true
2. {
3. …..
4. ……
5. ……
6. }
7. else - false
8. {
9. …..
10. ……
11. ……
12. }
Testing based on the memory (size) perspective
Test procedure
Test cases
BlackBoxTestingType
The following are the several categories of black box testing:
1. Functional Testing
2. Regression Testing
3. Nonfunctional Testing (NFT)
Functional Testing: It determines the system’s software
functional requirements.
Regression Testing: It ensures that the newly added code is
compatible with the existing code. In other words, a new
software update has no impact on the functionality of the
software. This is carried out after a system maintenance
operation and upgrades.
Nonfunctional Testing: Nonfunctional testing is also known
as NFT. This testing is not functional testing of software. It
focuses on the software’s performance, usability, and
scalability
. Advantages of Black Box Testing:
It is efficient for implementing the tests in the larger system.
Tests are executed from the user’s or client’s point of view.
Test cases are easily reproducible.
Disadvantages of Black Box Testing:
There is a possibility of repeating the same tests while
implementing the testing process.
Sometimes, the reason for the test failure cannot be
detected.
Some programs in the application are not tested.
It does not reveal the errors in the control structure.
Software Metrics
ypes of Metrics
These are useful for managing software products but not for
evaluating the performance of the technical staff.
What is UML?
UML is a standard language for specifying, visualizing,
constructing, and documenting the artifacts of software
systems. UML was created by the Object Management Group
(OMG) and UML 1.0 specification draft was proposed to the
OMG in January 1997. OMG is continuously making efforts
to create a truly industry standard. UML stands for Unified
Modeling Language. UML is different from the other
common programming languages such as C++, Java,
COBOL, etc. UML is a pictorial language used to make
software blueprints. UML can be described as a general
purpose visual modeling language to visualize, specify,
construct, and document software system. Although UML
is generally used to model software systems, it is not limited
within this boundary. It is also used to model non-software
systems as well. For example, the process flow in a
manufacturing unit, etc. UML is not a programming
language but tools can be used to generate code in various
languages using UML diagrams. UML has a direct relation
with object oriented analysis and design. After some
standardization, UML has become an OMG standard
BUSINESS MODEL
Every business or company makes a plan for generating
profit. They create a model for identifying products and
services to sell, the market they want to target and also take
into account anticipated expenses. This is known as
business models.
3. Subscription-Based Models
Any application-based businesses or software companies
have subscription-based business models. They offer their
product as a one-time purchase, in return company earns
monthly or annual revenues.