0% found this document useful (0 votes)
54 views

Medi-Caps University, Indore: Assignment: 3 Software Engineering

The document is an assignment submission for a software engineering course. It contains answers to 4 questions about software testing fundamentals, testing levels, lines of code cost estimation, and black box testing. The answers provide details on the software testing process, the 4 levels of testing (unit, integration, system, acceptance), how to calculate cost per line of code, and the advantages and disadvantages of black box testing.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views

Medi-Caps University, Indore: Assignment: 3 Software Engineering

The document is an assignment submission for a software engineering course. It contains answers to 4 questions about software testing fundamentals, testing levels, lines of code cost estimation, and black box testing. The answers provide details on the software testing process, the 4 levels of testing (unit, integration, system, acceptance), how to calculate cost per line of code, and the advantages and disadvantages of black box testing.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

MEDI-CAPS UNIVERSITY, INDORE

ASSIGNMENT: 3
Software Engineering

DEPARTMENT OF INFORMATION

TECHNOLOGY & ENGINEERING

Submitted To: Swapnil Soner Sir


Submitted By : Devanshu Khatwani

Enrolment NO. : EN19IT301029


Year/Semester : Third/5th

1. Explainthe Software Testing Fundamentals.


ANS: The Fundamental Test Process comprises five activities:
 Planning: Planning is the first step of the software testing process. A
test plan document outlines the planning for the entire test
process. It has the guidelines for the testing process such as
approach, testing tasks, environment needs, resource
requirements, schedule, and constraints. It explains the full process
of what you’re going to do to put the software through its paces, in
a step-by-step format.
 Specification:A software requirements specification (SRS) is a
document that describes what the software will do and how it will
be expected to perform. It also describes thefunctionality the
product needs to full-fill all stakeholders (business, users) needs.
 Execution: Test execution is the process of executing the code and
comparing the expected and actual results
 Recording: Record and playback testing is a type of automated
testing where the tool records the activity of the user and then
imitates it.
 Checking for Test Completion:Test Completion is the last stage of
the software testing life cycle. It results in a report that is a Test
manager or a Test lead prepares that showcases the completed
data from the test execution.
2. Discuss the various testing levels.
ANS: There are 4 levels of testing:
 Unit or first level test:
This is ideally our first level of testing software. Here, specific lines of code,
distinct functionalities, and desired procedures are isolated and tested.
These lines of code, functionalities, and procedures are termed software
units because they are combined to make up the software. They can also
be referred to as components of the software.Unit testing is a process that
mostly involves testing the internal workings of the software. It’s easy and
quick to do because it deals with the software unit by unit, not as a whole.
 Integration or second level test:
This testing level involves combining all the components that make up the
software and testing everything as a whole instead of individually as done
during unit testing. Also, from this level, tests can be split into functional
and non-functional types.First, the integrated codes could have been
written by different developers, and need to be tested to ensure their
correctness. By testing, we can identify and correct inter-working defects,
simultaneous operation defects, parallel operation defects, etc. It helps us
ascertain how well the units work together, and the condition of the
interfaces between each of them.

 System or third level test:


System testing has to do with verifying the required operations of the
software and its compatibility with operating systems. In other words, we
test both the technicalities and the business logic of the software; we run
functional tests to check what the various functions of a system do, and
non-functional tests to check how those functions work.For instance, in
functional testing, we check if a login feature responds when the user
enters a password. But in non-functional testing, we check how long it
takes the user to log in after password entry.

 Acceptance or fourth level test:


This level of software testing is similar to the system testing, but here, the
test is carried out by some selected end-users. This is the only software
testing stage that is carried out by users. This stage determines if the
software is finally ready to be launched to the general public.All the
selected users give their various opinions about the operation of the
software; they let the organization know whether the software meets their
diverse requirements, and recommend areas that may need to be
improved upon. Acceptance testing can also be referred to as User
Acceptance Testing.

3.Explain line of code. Also evaluate the cost


estimation per line of code.(Number of LOC per month:
$500 LOC/month, The cost per month: $9000)
ANS: A line of code (LOC) is any line of text in a code that is not a
comment or blank line, in any case of the number of statements or
fragments of statements on the line. LOC clearly consists of all lines
containing program header files, declaration of any variable, and
executable and non-executable statements. As Lines of Code (LOC) only
counts the volume of code, you can only use it to compare or estimate
projects that use the same language and are coded using the same coding
standards.
EVALUATION:
Number of LOC per month: $500 LOC/month.
The cost per month: $9000
Therefore, cost estimation per line of code is $9000/$500 = $18 / LOC.

4.Explain black box testing along with its advantages


and disadvantages.
ANS: Black Box Testing is a testing technique where no knowledge of
the internal functionality and structure of the system is available. This
testing technique treats the system as a black box or closed box. The
tester only knows the formal inputs and expected outputs, but does not
know how the program actually arrives at those outputs. As a result, all
testing must be based on functional specifications. For this reason black
box testing is also considered to be functional testing and is also a form of
behavioural testing or opaque box testing or simply closed box testing.
Although black box testing is behavioural testing, behavioural test design
is slightly different from black box test design because internal knowledge
may be available in behavioural testing.

Advantages of Black Box Testing


 Efficient when used on large systems.
 Since the tester and developer are independent of each other,
testing is balanced and unprejudiced.
 Tester can be non-technical.
 There is no need for the tester to have detailed functional
knowledge of system.
 Tests will be done from an end user's point of view, because the
end user should accept the system. (This testing technique is
sometimes also called Acceptance testing.)
 Testing helps to identify vagueness and contradictions in functional
specifications.
 Test cases can be designed as soon as the functional specifications
are complete.
Disadvantages of Black Box Testing
 Test cases are challenging to design without having clear functional
specifications.
 It is difficult to identify tricky inputs if the test cases are not
developed based on specifications.
 It is difficult to identify all possible inputs in limited testing time. As
a result, writing test cases may be slow and difficult.
 There are chances of having unidentified paths during the testing
process.
 There is a high probability of repeating tests already performed by
the programmer.

You might also like