You are on page 1of 11

SE Question Bank

1) Explain Boundary Value Analysis with example.


 Boundary Value Analysis is based on testing the boundary values of valid and invalid partitions.
 Boundary value analysis is one of the widely used case design technique for black box testing. It is used to
test boundary values because the input values near the boundary have higher chances of error.
 A boundary value for a valid partition is a valid boundary value and boundary value for an invalid partition
is an invalid boundary value.
 Suppose, a printer has to make and deliver printed copies ranging from 1 to 150. So, to apply boundary
value testing, the analysis is done on the boundaries, taking the extreme ends. The maximum value is 150
and the minimum value is 1. The invalid values in this test case will be 0 and 151.
 For example: Consider a system that accepts ages from 18 to 56.

Boundary Value Analysis(Age accepts 18 to 56)

Invalid Valid Invalid

(min-1) (min, min + 1, nominal, max – 1, max) (max + 1)

17 18, 19, 37, 55, 56 57

o Valid Test cases: Valid test cases for the above can be any value entered greater than 17 and less
than 57.
 Enter the value- 18.
 Enter the value- 19.
 Enter the value- 37.
 Enter the value- 55.
 Enter the value- 56.
o Invalid Test cases: When any value less than 18 and greater than 56 is entered.
 Enter the value- 17.
 Enter the value- 57.
2) What are relationships in UML?
 Unified Modelling Language (UML) is a general purpose modelling language. The main aim of UML is to
define a standard way to visualize the way a system has been designed.
 UML is not a programming language, it is rather a visual language.
 In UML modelling, a relationship is a connection between two or more UML model elements that adds
semantic information to a model.
 It constitutes four types of relationships:
o Dependency
o Association
o Generalization
o Realization.
A. Association:
o An association between two classes describes connection among them.
o If the association is between two classes then it is called binary association.
o It is represented by solid line.
o It can form several types of associations, such as one-to-one, one-to-many, many-to-one, and
many-to-many.
o The mostly used association are unidirectional and bidirectional.
o For example: ‘An employee works for a company’

Employee Company

B. Dependency:
o A dependency relationship is a weaker form of relationship. A dependency states that a change in
specification of one class may effect another class that uses first one but not vice versa.
o It is represented by dashed lines.
o We can say a class contained in other class is known as dependency.
o It is a unidirectional relationship.

Dependent class Reference class

C. Generalization:
o Deriving a class out of parent class having some inherited property from parent class and some
new property of derived class.
o It exists between two objects (things or entities), such that one entity is a parent (superclass or
base class), and the other one is a child (subclass or derived class).
o It is represented by a solid line with large arrow head pointing towards the parent class.

Vehicle

Car Truck

D. Realization:
o Realization is very similar to inheritance, the only difference between them is a class is derived
from an interface instead of a base class.
o An interface is an abstract class.

Dependent class Reference class


3) Explain Equivalence Partitioning with example.
 Equivalence Partitioning Method is also known as Equivalence class partitioning (ECP). It is a software
testing technique or black-box testing that divides input domain into classes of data, and with the help of
these classes of data, test cases can be derived. An ideal test case identifies class of error that might
require many arbitrary test cases to be executed before general error is observed.
 In equivalence partitioning, equivalence classes are evaluated for given input conditions. Whenever any
input is given, then type of input condition is checked, then for this input conditions, Equivalence class
represents or describes set of valid or invalid states. 
 Guidelines for Equivalence Partitioning: 
o If the range condition is given as an input, then one valid and two invalid equivalence classes are
defined.
o If a specific value is given as input, then one valid and two invalid equivalence classes are defined.
o If a member of set is given as an input, then one valid and one invalid equivalence class is defined.
o If Boolean no. is given as an input condition, then one valid and one invalid equivalence class is
defined.

 Example-1: 
o Let us consider an example of any college admission process. There is a college that gives
admissions to students based upon their percentage. 
o Consider percentage field that will accept percentage only between 50 to 90 %, more and even
less than not be accepted, and application will redirect user to an error page. If percentage
entered by user is less than 50 %or more than 90 %, that equivalence partitioning method will
show an invalid percentage. If percentage entered is between 50 to 90 %, then equivalence
partitioning method will show valid percentage. 
 
4) What do you mean by LOC? Explain with example.
 A line of credit (LOC) is the maximum amount that a customer has access to and can borrow from a bank
on an ongoing basis. In other words, this is an open credit line that allows a customer to continually
borrow funds from a bank up to a maximum amount.
 A line of code (LOC) is any line of text in a code that is not a comment or blank line, and also header lines,
in any case of the number of statements or fragments of statements on the line. LOC clearly consists of all
lines containing the 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. 
 Features :
o Variations such as “source lines of code”, are used to set out a code-base.
o LOC is frequently used in some kinds of arguments.
o They are used in assessing a project’s performance or efficiency.
 Advantages :
o Most used metric in cost estimation.
o Its alternates have many problems as compared to this metric.
o It is very easy in estimating the efforts.
 Disadvantages : 
o Very difficult to estimate the LOC of the final program from the problem specification.
o It correlates poorly with quality and efficiency of code.
o It doesn’t consider complexity.
 Research has shown a rough correlation between LOC and the overall cost and length of developing a
project/ product in Software Development, and between LOC and the number of defects. This means the
lower your LOC measurement is, the better off you probably are in the development of your product.
5) Explain Function point analysis with example.
 Function Point Analysis was initially developed by Allan J. Albercht in 1979 at IBM and it has been further
modified by the International Function Point Users Group (IFPUG). 
 FPA gives a dimensionless number defined in function points which we have found to be an effective
relative measure of function value delivered to our customer.
 Function Point Analysis (FPA) is a method or set of rules of Functional Size Measurement. It assesses the
functionality delivered to its users, based on the user’s external view of the functional requirements. It
measures the logical view of an application, not the physically implemented view or the internal technical
view. 
  The Function Point Analysis technique is used to analyse the functionality delivered by software and
Unadjusted Function Point (UFP) is the unit of measurement. 
 Types of FPA:
o External Input (EI): EI processes data or control information that comes from outside the
application’s boundary. The EI is an elementary process.
o External Output (EO): EO is an elementary process that generates data or control information
sent outside the application’s boundary.
o External Inquiries (EQ): EQ is an elementary process made up of an input-output combination that
results in data retrieval.
o Internal Logical File (ILF): A user identifiable group of logically related data or control information
maintained within the boundary of the application.
o External Interface File (EIF): A group of users recognizable logically related data allusion to the
software but maintained within the boundary of another software. 
 Objectives of FPA:
o To measure the functionality that the user requests and receives.
o To measure software development and maintenance independently of the technology used for
implementation.
o To minimize the overhead of the measurement process.
o It should be a consistent measure among various projects and organizations.
 The drawback of FPA:
o It requires a subjective evaluation and involves many judgements.
o Compared to LOC, there are less research data on function points.
o Run after creating the design spec.
o With subjective judgement, the accuracy rate of the assessment is low.
o Due to the long learning curve, it is not easy to gain proficiency. 
o This is a very time-consuming method.
6) What is Unit Testing
 Unit Testing is a software testing technique by means of which individual units of software i.e. group of
computer program modules, usage procedures, and operating procedures are tested to determine
whether they are suitable for use or not.
 It is a testing method using which every independent module is tested to determine if there is an issue by
the developer himself.
 It is correlated with the functional correctness of the independent modules.
 Unit testing is defined as a type of software testing where individual components of a software are tested.
 Unit testing of the software product is carried out during the development of an application. An individual
component may be either an individual function or a procedure.
 Unit testing is typically performed by the developer.
 In SDLC or V Model, Unit testing is the first level of testing done before integration testing.
 Unit testing is such a type of testing technique that is usually performed by developers.
 Although due to the reluctance of developers to test, quality assurance engineers also do unit testing.
 There are 2 types of Unit Testing:
o Manual
o Automated.
 Objective of Unit Testing: The objective of Unit Testing is:
o To isolate a section of code.
o To verify the correctness of the code.
o To test every function and procedure.
o To fix bugs early in the development cycle and to save costs.
o To help the developers to understand the code base and enable them to make changes quickly.
o To help with code reuse.
 Workflow of Unit Testing:  Unit Testing Techniques:

 There are 3 types of Unit Testing Techniques:


o Black Box Testing: This testing technique is used in covering the unit tests for input, user
interface, and output parts.
o White Box Testing: This technique is used in testing the functional behaviour of the system by
giving the input and checking the functionality output including the internal design structure and
code of the modules.
o Grey Box Testing: This technique is used in executing the relevant test cases, test methods, test
functions, and analysing the code performance for the modules.
 Unit Testing Tools: Here are some commonly used Unit Testing tools: 
o Jtest 
o Junit 
o NUnit 
o EMMA
o PHPUnit 
7) What is Integration Testing
 Integration testing is the process of testing the interface between two software units or modules. It
focuses on determining the correctness of the interface. Once all the modules have been unit tested,
integration testing is performed. 
 The purpose of integration testing is to verify the functional, performance, and reliability between the
modules that are integrated.
 There are four types of integration testing approaches:
o Big-Bang Integration
o Top Down Integration
o Bottom Up Integration
o Hybrid Integration
I. Big bang approach:
 In the big bang approach, every module is integrated as its development is complete. So, at
any point in time, any complete module can be integrated into the whole software system.
 This is a very risky approach, as there could be setbacks upon error discovery during the
testing process.
II. Top-down approach
 The top-down approach holds that the top-level module of the software must go through the
testing process before any other modules can be tested.
III. Bottom-up approach
 For the bottom-up approach, preference is given to the sub-modules. They are first
developed and go through testing before any other module in the system.
IV. Mixed approach
 In the mixed integration approach, there is no preference for either the top-level module or
the bottom-level module.
 The integration can be carried out at any point in time, provided the modules have gone
through the development process.
8) What is System Testing?
 System Testing is a type of software testing that is performed on a complete integrated system to
evaluate the compliance of the system with the corresponding requirements.
 In system testing, integration testing passed components are taken as input.
 System testing detects defects within both the integrated units and the whole system.
 It is performed to test the system beyond the bounds mentioned in the software requirements
specification (SRS).
 System Testing is basically performed by a testing team that is independent of the development team.
 It has both functional and non-functional testing.
 System Testing is a black-box testing.

 System Testing Process: System Testing is performed in the following steps:


o Test Environment Setup: Create testing environment for the better quality testing.
o Create Test Case: Generate test case for the testing process.
o Create Test Data: Generate the data that is to be tested.
o Execute Test Case: After the generation of the test case and the test data, test cases are
executed.
o Defect Reporting: Defects in the system are detected.
o Regression Testing: It is carried out to test the side effects of the testing process.
o Log Defects: Defects are fixed in this step.
o Retest: If the test is not successful then again test is performed.

 Types of System Testing:


o Performance Testing
o Load Testing
o Stress Testing
o Scalability Testing
9) What is Acceptance Testing?
 Acceptance testing, a testing technique performed to determine whether or not the software system has
met the requirement specifications.
 The major aim of this test is to evaluate the compliance of the system with the business requirements and
assess whether it is acceptable for delivery or not.
 It is a formal testing according to user needs, requirements and business processes conducted to
determine whether a system satisfies the acceptance criteria or not and to enable the users, customers or
other authorized entities to determine whether to accept the system or not.
 Acceptance Testing is the last phase of software testing performed after System Testing.
 Types of Acceptance Testing:
o User Acceptance Testing (UAT)
o Business Acceptance Testing (BAT)
o Alpha Testing
o Beta Testing
 Use of Acceptance Testing:
o To find the defects missed during the functional testing phase.
o How well the product is developed.
o A product is what actually the customers need.
o Feedback help in improving the product performance and user experience.
o Minimize or eliminate the issues arising from the production.
10) Explain Intermediate COCOMO Model.
 The Constructive Cost Model (COCOMO) is an algorithmic software cost estimation model developed by
Barry Boehm in 1981. The model uses a basic regression formula, with parameters that are derived from
historical project data and current project characteristics.
 It is a procedural cost estimate model for software projects and is often used as a process of reliably
predicting the various parameters associated with making a project such as size, effort, cost, time, and
quality.
 In COCOMO, projects are categorized into three types:
o Organic:
 A software project is said to be an organic type if the team size required is adequately
small, the problem is well understood and has been solved in the past and also the team
members have a nominal experience regarding the problem.
o Semidetached:
 A software project is said to be a Semi-detached type if the vital characteristics such as
team size, experience, knowledge of the various programming environment lie in
between that of organic and embedded model.
 The projects classified as Semi-Detached are comparatively less familiar and difficult to
develop compared to the organic once.
o Embedded:
 A software project requiring the highest level of complexity, creativity, and experience
requirement fall under this category.
 Such software requires a larger team size than the other two models and also the
developers need to be sufficiently experienced and creative to develop such complex
models.
 According to Boehm, software cost estimation should be done through three stages:
o Basic Model
o Intermediate Model
o Detailed Model
11) Draw DFD for job advertisement given by manager, & application applying for job. (Till level 1).

12) Explain Black Box Testing & its types.

13) Explain COCOMO Model? What will be development time & effort required for 400KLOC (Organic Mode).

14) What is White Box Testing? How to calculate cyclomatic complexity.

15) What is V-Model? Difference between verification & validation.

16) Explain Unit Testing, Integration Testing, System Testing & Acceptance Testing.

17) What is SRS? Write Functional & Non Functional requirement of Hospital Management System.

You might also like