Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

Software Engineering Lab

PRACTICAL NO. :-6

AIM: To Perform Black Box and White Box Testing Techniques.


Description: - Black box testing treats the system as a “black-box”, so it doesn’t explicitly use
Knowledge of the internal structure or code. Main focus in black box testing is on functionality
of the system as a whole. The term ‘behavioral testing’ is also used for black box testing.
Black box testing occurs throughout the software development and testing life cycle i.e in Unit,
Integration, System, Acceptance and regression testing stages.

Tools used for Black Box Testing are:-


Black box testing tools are mainly record and playback tools. These tools are used for regression
testing that to check whether new build has created any bug in previous working application
functionality. These record and playback tools records test cases in the form of some scripts like
TSL, VB script, Java script, Perl.

Advantages of Black Box Testing


● Tester can be non-technical.
● Used to verify contradictions in actual system and the specifications.
● Test cases can be designed as soon as the functional specifications are complete.
Disadvantages of Black Box Testing
● The test inputs needs to be from large sample space.
● It is difficult to identify all possible inputs in limited testing time. So writing test cases is
slow and difficult.
● Chances of having unidentified paths during this testing.

Black Box Testing Techniques:-


1. Graph Based Testing Methods:-
Each and every application is build up of some objects. All such objects are identified and graph is
prepared. From this object graph each object relationship is identified and test cases written accordingly to
discover the errors.
Software Engineering Lab

2. Error Guessing:-
This is purely based on previous experience and judgment of tester. Error Guessing is the art of
guessing where errors can be hidden. For this technique there are no specific tools, writing the test
cases that cover all the application paths.
3. Boundary Value Analysis:-

Many systems have tendency to fail on boundary. So testing boundary values of application is
important. Boundary Value Analysis (BVA) is a test Functional Testing technique where the
extreme boundary values are chosen. Boundary values include maximum, minimum, just
inside/outside boundaries, typical values, and error values.

Extends equivalence partitioningTest both sides of each boundary Look at output boundaries
for test cases tooTest min, min-1, max, max+1, typical values.

4.Equivalence Partitioning:
Equivalence partitioning is a black box testing method that divides the input domain of a program
into classes of data from which test cases can be derived.

How this partitioning is performed while testing:-


1. If an input condition specifies a range, one valid and one two invalid classes are defined.
2. If an input condition requires a specific value, one valid and two invalid equivalence classes are
defined.
3. If an input condition specifies a member of a set, one valid and one invalid equivalence class is
defined.
4. If an input condition is Boolean, one valid and one invalid class is defined.

White Box Testing (WBT) is also known as Code-Based Testing or Structural Testing. White box
testing is the software testing method in which internal structure is being known to tester who is
going to test the software.
In this method of testing the testcases are calculated based on analysis internal structure of the
system based on Code coverage, branches coverage, paths coverage, condition Coverage etc.

What do you verify in White Box Testing?


Software Engineering Lab

In the White box testing following steps are executed to test the software code:

1.Basically verify the security holes in the code.


2. Verify the broken or incomplete paths in the code.

3. Verify the flow of structure mention in the specification document.

4.Verify the Expected outputs.


5.Verify the all conditional loops in the code to check the complete functionality of the application.
6.Verify the line by line or Section by Section in the code & cover the 100% testing.

White Box Testing Techniques:-

1. Statement Coverage :- In this white box testing technique try to cover 100% statement

coverage of the code, it means while testing the every possible statement in the code is executedat
least once.
Tools: To test the Statement Coverage the Cantata++ can be used as white box testing tool.

2. Decision Coverage:- In this white box testing technique try to cover 100% decision coverage

of the code, it means while test the every possible decision conditions like if-else, for loop and
other conditional loops in the code is executed at least once.
Tools: To cover the Decision Coverage testing in the code the TCAT-PATH is used. This
supports for the C, C++ and Java applications.

3. Condition Coverage :- In this white box testing technique try to cover 100% Condition

coverage of the code, it means while testing the every possible conditions in the code is executed
at least once.

4. Decision/Condition Coverage:In this mixed type of white box testing technique try to cover

100% Decision/Condition coverage of the code, it means while testing the every possible
Decisions/Conditions in the code is executed at least once.

5. Multiple Condition Coverage:In this type of testing we use to cover each entry point of the
Software Engineering Lab
system to be execute once.
Advantages of White Box Testing :-

● To start the testing of the software no need to wait for the GUI, you can start the White Box

Testing.

● As covering all possible paths of code so this is a thorough testing.

● Tester can ask about implementation of each section, so it might be possible to remove unused

● As the tester is aware of internal coding structure, then it is helpful to derive which type of

input data is needed to testing software application effectively.

● White box testing allows you to help in the code optimization.

Disadvantages of White Box Testing :-

● To test the software application a highly skilled resource is required to carry out testing

who know the deep knowledge of internal structure of the code which increase the cost.

● Update test script is required if changing the implementation too frequently.

● If the application under test large is size then exhaustive testing is impossible.

● It is not possible for testing each and every path/condition of software program, which

might miss the defects in code.

● White box testing very expensive type of testing.

● To analyze each line by line or path by path is nearly impossible work which may introduce

or miss the defects in the code.


Software Engineering Lab
Difference between Black Box Testing and White Box Testing :-

S.No. Black Box Testing White Box Testing


Black box testing is the Software testing White box testing is the software testing
method which is used to test thesoftware method in which internal structure is being
1
without knowing the internal known to tester who is going to test the
structure of code or program. software
This type of testing is carried out by This type of testing is carried out by
2
software testers. software developers.
Implementation Knowledge is not Implementation Knowledge is required to
3
required to carry out Black Box Testing. carry out White Box Testing.
In White Box testing is primarily
In Black Box testing is primarily
concentrate on the testing of program code
4 concentrate on the functionality of the
of the system under test like code structure,
system under test.
branches, conditions, loops etc.
The main aim of this testing to check on
The main aim of White Box testing to check
5 what functionality is performing by the
on how System is performing.
system under test.
Black Box testing can be started based
The main aim of White Box testing to check
6 on Requirement Specifications
on how System is performing.
documents.
Software Engineering Lab

PRACTICAL NO. :-7


AIM: Study and usage of any Design phase CASE tools.
Computer-aided software engineering (CASE) is the domain of software tools used to design
and implement applications. CASE tools are similar to and were partly inspired by computer-aided
design (CAD) tools used for designing hardware products. CASE tools are used for developing
high-quality, defect-free, and maintainable software. CASE software is often associated with
methods for the development of information systems together with automated tools that can be
used in the software development process.
CASE tools supports specific tasks in the software development life-cycle. They can be divided
into the following categories:

1. Business and Analysis modelling. Graphical modelling tools. E.g., E/R modelling, object
modelling, etc.
2. Development. Design and construction phases of the life-cycle. Debugging environments.
E.g., GNU Debugger.
3. Verification and validation. Analyze code and specifications for correctness, performance,
etc.
4. Metrics and measurement. Analyze code for complexity, modularity (e.g., no "go to's"),
performance, etc.
5. Project management. Manage project plans, task assignments, scheduling.
Benefits of Case Tools
1.Rapid Application Development
2.Testing
3.Documentation
4.Project Management
5.Reduce the maintenance cost
The various case tools are as follows:
1.Artiso Visual Case
2.Db main
3.Meta edit
4.Microsoft Visio
5.Smartdraw
6. Draw.io
Software Engineering Lab

Draw.io :-
Draw.io is a user-friendly yet powerful software tool that enables the creation of intricate flowcharts, diagrams
and process maps. With its robust features like automatic layout, a wide array of templates, and comprehensive
shape libraries, creating visually compelling and accurate diagrams becomes a breeze. Substantial benefits
include optimised workflows, improved communications, strategic insights, enhanced productivity and
increased employee engagement. Seamlessly integrating with platforms like Google Drive, Confluence, Trello
and GitHub, draw.io takes collaboration to another level, allowing users to share their diagrams and receive
instant feedback

Benefits of Using Draw.io


Among the key benefits of draw.io are its user-friendly interface, powerful diagram creation capabilities,
flexible deployment options and robust data security measures. These features together allow users to create
intricate diagrams that aid in clarifying business processes, decision making and workflow communication. The
integration with other platforms promotes seamless collaboration and data sharing while strict data security
measures ensure peace of mind for businesses.
Software Engineering Lab

Advantages of Draw.io :-

 Intuitive Interface: Draw.io's user-friendly design allows users to navigate the software smoothly,
bolstering productivity and reducing the learning curve.
 Powerful Diagramming: With robust diagramming capabilities, including a variety of shapes, layouts,
and templates, draw.io aids in creating intricate diagrams easily.
 Cross-Platform Integrations: The ability to integrate with platforms like Google Drive and
Confluence, draw.io takes collaboration to new heights.
 Flexible Pricing: Its varied pricing options provide a perfect fit for individuals, small businesses, and
corporate giants alike, ensuring value for money.
Software Engineering Lab
PRACTICAL NO. :- 8
AIM: Testing of a web site.

Web Testing in simple terms is checking your web application for potential bugs before its made
live or before code is moved into the production environment.
During this stage issues such as that of web application security, the functioning of the site, its
access to handicapped as well as regular users and its ability to handle

Web Application Testing Checklist:-


Some or all of the following testing types may be performed depending on your web testing
requirements.

1. Functionality Testing :-This is used to check if your product is as per the specifications you

intended for it as well as the functional requirements you charted out for it in your
developmentaldocumentation. Testing Activities Included:

Test all links in your webpage’s are working correctly and make sure there are no broken links.
Links to be checked will include -

● Outgoing links
● Internal links
● Anchor Links
● Mail To Links

Test Forms are working as expected. This will include:-

● Scripting checks on the form are working as expected. For example- if a user does not fill
a mandatory field in a form an error message is shown.
● Check default values are being populated
● Once submitted, the data in the forms is submitted to a live database or is linked to a
working email address
● Forms are optimally formatted for better readability
Software Engineering Lab

Test Cookies are working as expected. Cookies are small files used by websites to primarily
remember active user sessions so you do not need to log in every time you visit a website. Cookie
Testing will include

● Testing cookies (sessions) are deleted either when cache is cleared or when they reach their
expiry.
● Delete cookies (sessions) and test that login credentials are asked for when you next visit
the site.

Test HTML and CSS to ensure that search engines can crawl your site easily. This will include

● Checking for Syntax Errors


● Readable Color Schemas
● Standard Compliance. Ensure standards such W3C, OASIS, IETF, ISO, ECMA, or WS-I
are followed.

Test business workflow- This will include

1. Testing your end - to - end workflow/ business scenarios which takes the user through a
series of webpage’s to complete.
2. Test negative scenarios as well, such that when a user executes an unexpected step,
appropriate error message or help is shown in your web application.

2. Performance Testing :-This will ensure your site works under all loads. Testing activities
willinclude but not limited to:-

● Website application response times at different connection speeds


● Load test your web application to determine its behavior under normal and peak loads
● Stress test your web site to determine its break point when pushed to beyond normal loads
at peak time.
● Test if a crash occurs due to peak load, how does the site recover from such an event
● Make sure optimization techniques like gzip compression, browser and server side cache
enabled to reduce load times
Software Engineering Lab

3. Usability testing :- Usability Testing has now become a vital part of any web based project.
It can be carried out by testers like you or a small focus group similar to the target audience
of the web application.

Test the site Navigation :-

● Menus, buttons or Links to different pages on your site should be easily visible and
consistent on all webpages
● Content should be legible with no spelling or grammatical errors.
● Images if present should contain an "alt" text

4. Interface Testing :- Three areas to be tested here are - Application, Web and Database Server

● Application: Test requests are sent correctly to the Database and output at the client side
is displayed correctly. Errors if any must be caught by the application and must be only
shown to the administrator and not the end user.
● Web Server: Test Web server is handling all application requests without any service
denial.
● Database Server: Make sure queries sent to the database give expected results.

Test system response when connection between the three layers (Application, Web and
Database) cannot be established and appropriate message is shown to the end user.

5. Database Testing: Database is one critical component of your web application and stress
mustbe laid to test it thoroughly. Testing activities will include-

● Test if any errors are shown while executing queries


● Data Integrity is maintained while creating, updating or deleting data in database.
● Check response time of queries and fine tune them if necessary.
● Test data retrieved from your database is shown accurately in your web application
Software Engineering Lab

6. Compatibility testing: Compatibility test ensures that your web application displays
correctlyacross different devices. This would include-

Browser Compatibility Test :- Same website in different browsers will display differently. You
need to test if your web application is being displayed correctly across browsers, JavaScript, AJAX
and authentication is working fine. You may also check for Mobile Browser Compatibility.

The rendering of web elements like buttons, text fields etc. changes with change in Operating
System. Make sure your website works fine for various combination of Operating systems such
as Windows, Linux, Mac and Browsers such as Firefox, Internet Explorer, Safari etc.

7. Security testing: Security Testing is vital for e-commerce website that store sensitive
customerinformation like credit cards. Testing Activities will include-

● Test unauthorized access to secure pages should not be permitted


● Restricted files should not be downloadable without appropriate access
● Check sessions are automatically killed after prolonged user inactivity
● On use of SSL certificates, website should re-direct to encrypted SSL pages.

LOGIN PAGE :-

You might also like