SlideShare a Scribd company logo
2
Most read
3
Most read
5
Most read
1 | P a g e B y G u r p r e e t S i n g h
http://gsbprogramming.blogspot.in/
Software Testing and Quality Assurance (BTCS-905)
Assignment 2
2 | P a g e B y G u r p r e e t S i n g h
http://gsbprogramming.blogspot.in/
Very short questions
Q1: What is stress testing?
A: Stress testing is a software testing activity that determines the robustness of software by testing
beyond the limits of normal operation. Stress testing is particularly important for "mission critical"
software, but is used for all types of software. Stress tests commonly put a greater emphasis on
robustness, availability, and error handling under a heavy load, than on what would be considered
correct behavior under normal circumstances.
Q2: What is Cyclomatic complexity?
A: Cyclomatic complexity is a software metric (measurement), used to indicate the complexity of
a program. It is a quantitative measure of the number of linearly independent paths through a
program's source code. It was developed by Thomas J. McCabe, Sr. in 1976.
It is calculated by producing a ControlFlowGraph of the code, and then counting:
E = number of edges in the graph.
N = number of nodes in the graph.
P = number of nodes that are exit points
(last instruction, return, exit, etc.)
Then,
Cyclomatic complexity = E - N + P
The metric tries to capture the number of paths through the code, and thus the number of required
test cases. It is widely used, but has been criticized for not capturing the additional complexity
implied in nested control structures.
Q3: Define Object Oriented Testing
A: Object Oriented software testing has to deal with new problems introduced by the powerful OO
features such as en-capsulation, inheritance, polymorphism, and dynamic binding. A test strategy
can be defined as the order to unit testing and integration testing of the classes in an OO program.
The test order problem for the classes in an OO program can be stated as finding an order to test
the classes so that the effort required is minimum.
3 | P a g e B y G u r p r e e t S i n g h
http://gsbprogramming.blogspot.in/
Q4: What is regression testing? When it is done?
A: Regression testing is a type of software testing that seeks to uncover new software bugs, or
regressions, in existing functional and non-functional areas of a system after changes such as
enhancements, patches or configuration changes, have been made to them. The intent of regression
testing is to ensure that changes such as those mentioned above have not introduced new faults.
One of the main reasons for regression testing is to determine whether a change in one part of the
software affects other parts of the software.
Regression testing has traditionally been performed by a
software quality assurance team after the development team has completed work.
Q5: How loop testing is different from the path testing?
A: Loop testing a white box testing technique performed to validate the loops.
Path Testing is a structural testing method based on the source code or algorithm and NOT
based on the specifications. It can be applied at different levels of granularity.
Q6: What is client server environment?
A: Client server environment means that client computers (computers forming part of the network)
contact a server, generally a very powerful computer in terms of input/output, which provides
services to the client computers. These services are programs which provide data such as the time,
files, a connection, etc.
The services are used by programs client programs which run on client computers. This is why the
term "client" is applied (FTP client, email client, etc.), where a program is designed to run on a
client computer, capable of processing data received from a server (in the case of the FTP client
we are dealing with files whereas for the email client we deal with email email).
Q7: What is graph based testing?
A: Graph based testing is useful to represent a transaction or work flows. Cause and effect graphs
are generated and cyclometric complexity considered in using the test cases.
Q8: How security testing is useful in real applications?
A: Security testing is a process intended to reveal flaws in the security mechanisms of an
information system that protect data and maintain functionality as intended. Due to the logical
limitations of security testing, passing security testing is not an indication that no flaws exist or
that the system adequately satisfies the security requirements.
4 | P a g e B y G u r p r e e t S i n g h
http://gsbprogramming.blogspot.in/
Q9: What are main characteristics of real time system?
A: A real-time system is one that must process information and produce a response within a
specified time, else risk severe consequences, including failure. Main characteristics of real time
system:
 Large and complex: vary from a few hundred lines of assembler or C to 20 million
lines of Ada estimated for the Space Station Freedom
 Concurrent control of separate system components: devices operate in parallel in the
real-world; better to model this parallelism by concurrent entities in the program
 Extreme reliability and safety: embedded systems typically control the environment in
which they operate; failure to control can result in loss of life, damage to environment or
economic loss
 Mixture of Hardware/Software: some modules implemented in hardware, even whole
systems, SoC
Q10: What are the benefits of data flow testing?
A: Data Flow testing helps us to pinpoint any of the following issues:
 A variable that is declared but never used within the program.
 A variable that is used but never declared.
 A variable that is defined multiple times before it is used.
 Deallocating a variable before it is used.
Short Questions
Q1: Design test case for: ERP, Traffic controller and university management
system?
A: The main objective of the test is to find defects in the application or system. To achieve this
test cases should be written well and should have the below details:
1. Test case number
2. Test case name
3. Test case description
4. Pre conditions
5. Test data/Input data
6. Step name
7. Step description/action
8. Expected result
Test Case for ERP:
5 | P a g e B y G u r p r e e t S i n g h
http://gsbprogramming.blogspot.in/
Test case for Traffic Controller
1- There should be three signal light (Red,Yellow,Green) also there should be provision to have a
left and right arrow signal.
2- At a time only one stright and aadjacent left direction should have green signal on.
3- There should be duration of 5 second after completation of Green signal.
4- At the time of Green signal the Zebra cross signal should be red.
5- There should a provision when all the signal should be closed and only zebra crossing is allowed.
6- To make sure the visibility of the signal the height of the signal pole should be grater than 10
feet.
7- There should be provision to allow maual control if it is not a digitally controled.
8- Each and every signal should have time meter in the decreasing order.
9- There should be power backup provided to the signal.
10- The intensity of the signal light should be brighter and should not be dull.
6 | P a g e B y G u r p r e e t S i n g h
http://gsbprogramming.blogspot.in/
Test case for university management system
Test Case Name Test Case
Description
Step Name Step
Description
Expected Result
1. Adding
Student
Student takes
admission and
register with
his/her roll
number
Step 1 Login to the
system as new
student
A new
registration
forms appears
Step 2 Student provides
his/her roll
number
A valid roll
number must be
entered
Step 3 Student provides
his personal
details like
mobile, email,
address etc
Details must be
provided in
correct format
Step 4 Student clicks on
register button
If all details are
valid and in
correct format
student
registration is
successful and
student Is
redirected to
student-
homepage
Q2: Assuming a real time system of your choice, discuss the concepts. Analysis and
design factors of same, elaborate
A: A real-time system is one that must process information and produce a response within a
specified time, else risk severe consequences, including failure. An example of real time system is
real time operating system.
A real-time operating system (RTOS) is an operating system (OS) intended to serve real-time
application process data as it comes in, typically without buffering delays. Processing time
requirements (including any OS delay) are measured in tenths of seconds or shorter.
Analysis & Design Factors:
An RTOS has an advanced algorithm for scheduling. Scheduler flexibility enables a wider,
computer-system orchestration of process priorities, but a real-time OS is more frequently
7 | P a g e B y G u r p r e e t S i n g h
http://gsbprogramming.blogspot.in/
dedicated to a narrow set of applications. Key factors in a real-time OS are minimal interrupt
latency and minimal thread switching latency; a real-time OS is valued more for how quickly or
how predictably it can respond than for the amount of work it can perform in a given period of
time.
The most common designs are:
Event-driven which switches tasks only when an event of higher priority needs servicing, called
preemptive priority, or priority scheduling.
Time-sharing designs switch tasks on a regular clocked interrupt, and on events, called round
robin.
Time sharing designs switch tasks more often than strictly needed, but give smoother multitasking,
giving the illusion that a process or user has sole use of a machine.
Early CPU designs needed many cycles to switch tasks, during which the CPU could do nothing
else useful. For example, with a 20 MHz 68000 processor (typical of the late 1980s), task switch
times are roughly 20 microseconds. (In contrast, a 100 MHz ARM CPU (from 2008) switches in
less than 3 microseconds.) Because of this, early OSes tried to minimize wasting CPU time by
avoiding unnecessary task switching.
Scheduling
In typical designs, a task has three states:
 Running (executing on the CPU);
 Ready (ready to be executed);
 Blocked (waiting for an event, I/O for example).
Most tasks are blocked or ready most of the time because generally only one task can run at a time
per CPU. The number of items in the ready queue can vary greatly, depending on the number of
tasks the system needs to perform and the type of scheduler that the system uses. On simpler non-
preemptive but still multitasking systems, a task has to give up its time on the CPU to other tasks,
which can cause the ready queue to have a greater number of overall tasks in the ready to be
executed state
Algorithms
Some commonly used RTOS scheduling algorithms are:
 Cooperative scheduling
 Preemptive scheduling
 Earliest Deadline First approach
 Stochastic digraphs with multi-threaded graph traversal
8 | P a g e B y G u r p r e e t S i n g h
http://gsbprogramming.blogspot.in/
Q3: How testing in multiplatform environment is performed?
A: Software designed to run on more than one platform must undergo two tests. The first test is to
validate that the software performs its intended functions. The second test is that the software will
perform in the same manner regardless of the platform on which it is executed.
Each platform on which software is designed to execute operationally may have slightly different
characteristics. These distinct characteristics include various operating systems, hardware
configurations, operating instructions, and supporting software, such as database management
systems. These different characteristics may or may not cause the software to perform its intended
functions differently. The objective of testing is to determine whether the software will produce
the correct results on various platforms.
Testers face three major challenges when testing in a multiplatform environment. These challenges
are:
 Determining the type of platform that users operate for the processing
 Determining which software packages are available to those users
 Determining the type of processing users will perform in a multiplatform environment
The following six tasks should be performed to validate that software performs consistently in a
multiplatform environment:
1. Define platform configuration concerns.
2. List needed platform configurations.
3. Assess test room configurations.
4. List structural components affected by the platform(s).
5. List interfaces platform affects.
6. Execute the tests.
Define Platform Configuration Concerns
The first task in testing a multiplatform environment is to develop a list of potential concerns about
that environment. The testing that follows will then determine the validity of those concerns. The
recommended process for identifying concerns is error guessing.
Define Platform Configuration Concerns
The first task in testing a multiplatform environment is to develop a list of potential concerns about
that environment. The testing that follows will then determine the validity of those concerns. The
recommended process for identifying concerns is error guessing.
Assess Test Room Configurations
The testers need to determine whether the platforms available in the test room are acceptable for
testing.
9 | P a g e B y G u r p r e e t S i n g h
http://gsbprogramming.blogspot.in/
List Structural Components Affected by the Platform(s)
Structural testing deals with the architecture of the system. Architecture describes how the system
is put together. It is used in the same context that an architect designs a building.
List Interfaces the Platform Affects
Systems tend to fail at interface points—that is, the points at which control is passed from one
processing component to another (for example, when data is retrieved from a database, output
reports are printed or transmitted, or a person interrupts processing to make a correction). The
purpose of this task is to identify those interfaces so that they can be tested.
Execute the Tests
The platform test should be executed
Q4: Explain graph based testing in detail
A: Graph based testing is useful to represent a transaction or work flows. Cause and effect graphs
are generated and cyclometric complexity considered in using the test cases.
Graph-based testing first builds a graph model for the program under test, and then tries to cover
certain elements in the graph model.
Each and every application is buildup 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.
The software engineer begins by creating a graph- a collection of nodes that represent objects;
links that represent the relationships between objects; node weights that describe the properties of
a node(e.g., a specific data value or state behavior); and link weights that describe some
characteristic of a link.
10 | P a g e B y G u r p r e e t
S i n g h
http://gsbprogramming.blogspot.in/
General outline for graph based testing with respect to language processor is:
 Identify the grammar for the scenario. In some cases the scenario can be context-free
grammar, which may require a more sophisticated representation of a “state diagram”
 Design test cases corresponding to each valid state-input combination
 Design test cases corresponding to the most common invalid combination of state-input.
Q5: Differentiate between Equivalence partitioning and boundary value analysis
A: Boundary value analysis and equivalence partitioning both are test case design strategies in
black box testing.
Equivalence Class Partitioning
In this method the input domain data is divided into different equivalence data classes. This method
is typically used to reduce the total number of test cases to a finite set of testable test cases, still
covering maximum requirements.
In short it is the process of taking all possible test cases and placing them into classes. One test
value is picked from each class while testing. Using equivalence partitioning method above test
cases can be divided into three sets of input data called as classes. Each test case is a representative
of respective class. Test case values are selected in such a way that largest number of attributes of
equivalence class can be exercised.
Equivalence partitioning uses fewest test cases to cover maximum requirements. It can be used at
any level of software for testing and is preferably a good technique to use first. In this technique,
only one condition to be tested from each partition. Because we assume that, all the conditions in
one partition behave in the same manner by the software. In a partition, if one condition works
11 | P a g e B y G u r p r e e t
S i n g h
http://gsbprogramming.blogspot.in/
other will definitely work. Likewise we assume that, if one of the condition does not work then
none of the conditions in that partition will work.
Equivalence partitioning is a testing technique where input values set into classes for testing.
 Valid Input Class = Keeps all valid inputs.
 Invalid Input Class = Keeps all Invalid inputs.
Boundary Value Analysis
It’s widely recognized that input values at the extreme ends of input domain cause more errors in
system. More application errors occur at the boundaries of input domain. ‘Boundary value
analysis’ testing technique is used to identify errors at boundaries rather than finding those exist
in center of input domain.
Boundary value analysis is a next part of Equivalence partitioning for designing test cases where
test cases are selected at the edges of the equivalence classes.
Boundary value analysis is often called as a part of stress and negative testing. Boundary value
analysis is a test case design technique to test boundary value between partitions (both valid
boundary partition and invalid boundary partition). A boundary value is an input or output value
on the border of an equivalence partition, includes minimum and maximum values at inside and
outside boundaries.
Using Boundary Value Analysis technique tester creates test cases for required input field. For
example; an Address text box which allows maximum 500 characters. So, writing test cases for
each character once will be very difficult so that will choose boundary value analysis.

More Related Content

PDF
Software Testing and Quality Assurance Assignment 3
PPT
Formal Specification in Software Engineering SE9
PPT
Software quality
PPTX
Final Year Project Presentation
PPT
Software Testing Life Cycle
PDF
project
PPTX
Regression testing
PPTX
Software Product Line
Software Testing and Quality Assurance Assignment 3
Formal Specification in Software Engineering SE9
Software quality
Final Year Project Presentation
Software Testing Life Cycle
project
Regression testing
Software Product Line

What's hot (20)

PDF
Documenting Software Architectures
PPTX
Load Runner
PDF
Testing plan for an ecommerce site
PPTX
Introduction of software project management
PDF
PPTX
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
PPT
Role Of Qa And Testing In Agile 1225221397167302 8
PPTX
Ch 3 software quality factor
PDF
Distributed banking system using rmi project
PDF
Project control and process instrumentation
PDF
Software project management
PPTX
Software test automation
DOC
Resume For Software Test Engineer
PPT
Spm unit 1
DOCX
Acknowledgement
PPTX
The Extreme Programming (XP) Model
PPTX
software process improvement
PPTX
Testing as a Managed Service using SLAs and KPIs
PPT
Software metrics
PPTX
Software cost estimation techniques presentation
Documenting Software Architectures
Load Runner
Testing plan for an ecommerce site
Introduction of software project management
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Role Of Qa And Testing In Agile 1225221397167302 8
Ch 3 software quality factor
Distributed banking system using rmi project
Project control and process instrumentation
Software project management
Software test automation
Resume For Software Test Engineer
Spm unit 1
Acknowledgement
The Extreme Programming (XP) Model
software process improvement
Testing as a Managed Service using SLAs and KPIs
Software metrics
Software cost estimation techniques presentation
Ad

Viewers also liked (20)

DOC
Multiplateform testing
PPTX
Intro to Unit Testing with test Driven Development
DOC
Software testing objective_types
DOC
Seeking Assignments in QA/QC , Project Site , Piping Welding/Fabrication , In...
PPTX
Assessment assignment testing
PDF
Practical Guide To Software System Testing
PPTX
Assignment # 2 IDENTIFICATION AND TESTING OF TEXTILE FIBERS
PDF
Software Testing Interview Q&A – part 1
PDF
Fundamentals of Testing 2
PDF
Software project management
DOCX
Some Commonly Asked Question For Software Testing
DOCX
Fresher interview question for software testing (QA) manual + basic automation
PPT
Testing Software Solutions
DOC
Manual Testing.
PPTX
Gosecure Software Testing
PPT
16103271 software-testing-ppt
PPTX
Software testing - basics
PDF
Software testing quiz questions and answers
DOC
ISTQB Foundation level Sample Paper - Part 3
DOC
Software engineering-quiz
Multiplateform testing
Intro to Unit Testing with test Driven Development
Software testing objective_types
Seeking Assignments in QA/QC , Project Site , Piping Welding/Fabrication , In...
Assessment assignment testing
Practical Guide To Software System Testing
Assignment # 2 IDENTIFICATION AND TESTING OF TEXTILE FIBERS
Software Testing Interview Q&A – part 1
Fundamentals of Testing 2
Software project management
Some Commonly Asked Question For Software Testing
Fresher interview question for software testing (QA) manual + basic automation
Testing Software Solutions
Manual Testing.
Gosecure Software Testing
16103271 software-testing-ppt
Software testing - basics
Software testing quiz questions and answers
ISTQB Foundation level Sample Paper - Part 3
Software engineering-quiz
Ad

Similar to Software Testing and Quality Assurance Assignment 2 (20)

PPTX
Software Testing Concepts
PDF
International Journal of Engineering Research and Development (IJERD)
DOCX
Performance testing interview questions and answers
PPT
08-Performence_Testing Project Explain.ppt
DOCX
Faq
PDF
manual Interview Questions and Answers.pdf
PDF
Information hiding based on optimization technique for Encrypted Images
PDF
Performance Evaluation of a Network Using Simulation Tools or Packet Tracer
PPTX
1651003086422.pptx
PPTX
Testing ppt
PPT
Getting Started with Apache Jmeter
PPT
Chapter 8 Testing Tactics.ppt Software engineering
PPTX
Software engineering quality assurance and testing
PPT
Software testing for biginners
PPTX
Performance Testing using LoadRunner
DOC
Testing
PPTX
System testing
PPT
Chapter 8 Testing Tactics.ppt
PPT
Performance testing and rpt
PDF
Testing Interview Questions.pdf
Software Testing Concepts
International Journal of Engineering Research and Development (IJERD)
Performance testing interview questions and answers
08-Performence_Testing Project Explain.ppt
Faq
manual Interview Questions and Answers.pdf
Information hiding based on optimization technique for Encrypted Images
Performance Evaluation of a Network Using Simulation Tools or Packet Tracer
1651003086422.pptx
Testing ppt
Getting Started with Apache Jmeter
Chapter 8 Testing Tactics.ppt Software engineering
Software engineering quality assurance and testing
Software testing for biginners
Performance Testing using LoadRunner
Testing
System testing
Chapter 8 Testing Tactics.ppt
Performance testing and rpt
Testing Interview Questions.pdf

More from Gurpreet singh (20)

PDF
Oracle Fusion REST APIs with Get Invoice API example
PDF
PL/SQL for Beginners - PL/SQL Tutorial 1
PDF
Creating ESS Jobs for Oracle Fusion BIP Reports
PDF
Introduction to Oracle Fusion BIP Reporting
PDF
Why Messaging system?
PDF
Understanding Flex Fields with Accounting Flexfields(Chart of Accounts) in O...
PPTX
Oracle Application Developmenr Framework
PDF
Java Servlet part 3
PDF
Oracle advanced queuing
PDF
Oracle SQL Part 3
PDF
Oracle SQL Part 2
PDF
Oracle SQL Part1
PDF
Generics and collections in Java
PDF
IO Streams, Serialization, de-serialization, autoboxing
PDF
Java Servlets Part 2
PDF
Creating business group in oracle apps
PDF
Defing locations in Oracle Apps
PDF
Assigning role AME_BUS_ANALYST
PDF
Introduction to Data Flow Diagram (DFD)
PDF
Ingenium test(Exam Management System) Project Presentation (Full)
Oracle Fusion REST APIs with Get Invoice API example
PL/SQL for Beginners - PL/SQL Tutorial 1
Creating ESS Jobs for Oracle Fusion BIP Reports
Introduction to Oracle Fusion BIP Reporting
Why Messaging system?
Understanding Flex Fields with Accounting Flexfields(Chart of Accounts) in O...
Oracle Application Developmenr Framework
Java Servlet part 3
Oracle advanced queuing
Oracle SQL Part 3
Oracle SQL Part 2
Oracle SQL Part1
Generics and collections in Java
IO Streams, Serialization, de-serialization, autoboxing
Java Servlets Part 2
Creating business group in oracle apps
Defing locations in Oracle Apps
Assigning role AME_BUS_ANALYST
Introduction to Data Flow Diagram (DFD)
Ingenium test(Exam Management System) Project Presentation (Full)

Recently uploaded (20)

PPTX
Construction Project Organization Group 2.pptx
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
additive manufacturing of ss316l using mig welding
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PPTX
UNIT 4 Total Quality Management .pptx
PDF
Well-logging-methods_new................
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
Digital Logic Computer Design lecture notes
PPTX
Sustainable Sites - Green Building Construction
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
DOCX
573137875-Attendance-Management-System-original
PPT
Mechanical Engineering MATERIALS Selection
PPT
Project quality management in manufacturing
PDF
composite construction of structures.pdf
Construction Project Organization Group 2.pptx
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Operating System & Kernel Study Guide-1 - converted.pdf
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
additive manufacturing of ss316l using mig welding
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
Strings in CPP - Strings in C++ are sequences of characters used to store and...
UNIT 4 Total Quality Management .pptx
Well-logging-methods_new................
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
CYBER-CRIMES AND SECURITY A guide to understanding
Digital Logic Computer Design lecture notes
Sustainable Sites - Green Building Construction
Embodied AI: Ushering in the Next Era of Intelligent Systems
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
573137875-Attendance-Management-System-original
Mechanical Engineering MATERIALS Selection
Project quality management in manufacturing
composite construction of structures.pdf

Software Testing and Quality Assurance Assignment 2

  • 1. 1 | P a g e B y G u r p r e e t S i n g h http://gsbprogramming.blogspot.in/ Software Testing and Quality Assurance (BTCS-905) Assignment 2
  • 2. 2 | P a g e B y G u r p r e e t S i n g h http://gsbprogramming.blogspot.in/ Very short questions Q1: What is stress testing? A: Stress testing is a software testing activity that determines the robustness of software by testing beyond the limits of normal operation. Stress testing is particularly important for "mission critical" software, but is used for all types of software. Stress tests commonly put a greater emphasis on robustness, availability, and error handling under a heavy load, than on what would be considered correct behavior under normal circumstances. Q2: What is Cyclomatic complexity? A: Cyclomatic complexity is a software metric (measurement), used to indicate the complexity of a program. It is a quantitative measure of the number of linearly independent paths through a program's source code. It was developed by Thomas J. McCabe, Sr. in 1976. It is calculated by producing a ControlFlowGraph of the code, and then counting: E = number of edges in the graph. N = number of nodes in the graph. P = number of nodes that are exit points (last instruction, return, exit, etc.) Then, Cyclomatic complexity = E - N + P The metric tries to capture the number of paths through the code, and thus the number of required test cases. It is widely used, but has been criticized for not capturing the additional complexity implied in nested control structures. Q3: Define Object Oriented Testing A: Object Oriented software testing has to deal with new problems introduced by the powerful OO features such as en-capsulation, inheritance, polymorphism, and dynamic binding. A test strategy can be defined as the order to unit testing and integration testing of the classes in an OO program. The test order problem for the classes in an OO program can be stated as finding an order to test the classes so that the effort required is minimum.
  • 3. 3 | P a g e B y G u r p r e e t S i n g h http://gsbprogramming.blogspot.in/ Q4: What is regression testing? When it is done? A: Regression testing is a type of software testing that seeks to uncover new software bugs, or regressions, in existing functional and non-functional areas of a system after changes such as enhancements, patches or configuration changes, have been made to them. The intent of regression testing is to ensure that changes such as those mentioned above have not introduced new faults. One of the main reasons for regression testing is to determine whether a change in one part of the software affects other parts of the software. Regression testing has traditionally been performed by a software quality assurance team after the development team has completed work. Q5: How loop testing is different from the path testing? A: Loop testing a white box testing technique performed to validate the loops. Path Testing is a structural testing method based on the source code or algorithm and NOT based on the specifications. It can be applied at different levels of granularity. Q6: What is client server environment? A: Client server environment means that client computers (computers forming part of the network) contact a server, generally a very powerful computer in terms of input/output, which provides services to the client computers. These services are programs which provide data such as the time, files, a connection, etc. The services are used by programs client programs which run on client computers. This is why the term "client" is applied (FTP client, email client, etc.), where a program is designed to run on a client computer, capable of processing data received from a server (in the case of the FTP client we are dealing with files whereas for the email client we deal with email email). Q7: What is graph based testing? A: Graph based testing is useful to represent a transaction or work flows. Cause and effect graphs are generated and cyclometric complexity considered in using the test cases. Q8: How security testing is useful in real applications? A: Security testing is a process intended to reveal flaws in the security mechanisms of an information system that protect data and maintain functionality as intended. Due to the logical limitations of security testing, passing security testing is not an indication that no flaws exist or that the system adequately satisfies the security requirements.
  • 4. 4 | P a g e B y G u r p r e e t S i n g h http://gsbprogramming.blogspot.in/ Q9: What are main characteristics of real time system? A: A real-time system is one that must process information and produce a response within a specified time, else risk severe consequences, including failure. Main characteristics of real time system:  Large and complex: vary from a few hundred lines of assembler or C to 20 million lines of Ada estimated for the Space Station Freedom  Concurrent control of separate system components: devices operate in parallel in the real-world; better to model this parallelism by concurrent entities in the program  Extreme reliability and safety: embedded systems typically control the environment in which they operate; failure to control can result in loss of life, damage to environment or economic loss  Mixture of Hardware/Software: some modules implemented in hardware, even whole systems, SoC Q10: What are the benefits of data flow testing? A: Data Flow testing helps us to pinpoint any of the following issues:  A variable that is declared but never used within the program.  A variable that is used but never declared.  A variable that is defined multiple times before it is used.  Deallocating a variable before it is used. Short Questions Q1: Design test case for: ERP, Traffic controller and university management system? A: The main objective of the test is to find defects in the application or system. To achieve this test cases should be written well and should have the below details: 1. Test case number 2. Test case name 3. Test case description 4. Pre conditions 5. Test data/Input data 6. Step name 7. Step description/action 8. Expected result Test Case for ERP:
  • 5. 5 | P a g e B y G u r p r e e t S i n g h http://gsbprogramming.blogspot.in/ Test case for Traffic Controller 1- There should be three signal light (Red,Yellow,Green) also there should be provision to have a left and right arrow signal. 2- At a time only one stright and aadjacent left direction should have green signal on. 3- There should be duration of 5 second after completation of Green signal. 4- At the time of Green signal the Zebra cross signal should be red. 5- There should a provision when all the signal should be closed and only zebra crossing is allowed. 6- To make sure the visibility of the signal the height of the signal pole should be grater than 10 feet. 7- There should be provision to allow maual control if it is not a digitally controled. 8- Each and every signal should have time meter in the decreasing order. 9- There should be power backup provided to the signal. 10- The intensity of the signal light should be brighter and should not be dull.
  • 6. 6 | P a g e B y G u r p r e e t S i n g h http://gsbprogramming.blogspot.in/ Test case for university management system Test Case Name Test Case Description Step Name Step Description Expected Result 1. Adding Student Student takes admission and register with his/her roll number Step 1 Login to the system as new student A new registration forms appears Step 2 Student provides his/her roll number A valid roll number must be entered Step 3 Student provides his personal details like mobile, email, address etc Details must be provided in correct format Step 4 Student clicks on register button If all details are valid and in correct format student registration is successful and student Is redirected to student- homepage Q2: Assuming a real time system of your choice, discuss the concepts. Analysis and design factors of same, elaborate A: A real-time system is one that must process information and produce a response within a specified time, else risk severe consequences, including failure. An example of real time system is real time operating system. A real-time operating system (RTOS) is an operating system (OS) intended to serve real-time application process data as it comes in, typically without buffering delays. Processing time requirements (including any OS delay) are measured in tenths of seconds or shorter. Analysis & Design Factors: An RTOS has an advanced algorithm for scheduling. Scheduler flexibility enables a wider, computer-system orchestration of process priorities, but a real-time OS is more frequently
  • 7. 7 | P a g e B y G u r p r e e t S i n g h http://gsbprogramming.blogspot.in/ dedicated to a narrow set of applications. Key factors in a real-time OS are minimal interrupt latency and minimal thread switching latency; a real-time OS is valued more for how quickly or how predictably it can respond than for the amount of work it can perform in a given period of time. The most common designs are: Event-driven which switches tasks only when an event of higher priority needs servicing, called preemptive priority, or priority scheduling. Time-sharing designs switch tasks on a regular clocked interrupt, and on events, called round robin. Time sharing designs switch tasks more often than strictly needed, but give smoother multitasking, giving the illusion that a process or user has sole use of a machine. Early CPU designs needed many cycles to switch tasks, during which the CPU could do nothing else useful. For example, with a 20 MHz 68000 processor (typical of the late 1980s), task switch times are roughly 20 microseconds. (In contrast, a 100 MHz ARM CPU (from 2008) switches in less than 3 microseconds.) Because of this, early OSes tried to minimize wasting CPU time by avoiding unnecessary task switching. Scheduling In typical designs, a task has three states:  Running (executing on the CPU);  Ready (ready to be executed);  Blocked (waiting for an event, I/O for example). Most tasks are blocked or ready most of the time because generally only one task can run at a time per CPU. The number of items in the ready queue can vary greatly, depending on the number of tasks the system needs to perform and the type of scheduler that the system uses. On simpler non- preemptive but still multitasking systems, a task has to give up its time on the CPU to other tasks, which can cause the ready queue to have a greater number of overall tasks in the ready to be executed state Algorithms Some commonly used RTOS scheduling algorithms are:  Cooperative scheduling  Preemptive scheduling  Earliest Deadline First approach  Stochastic digraphs with multi-threaded graph traversal
  • 8. 8 | P a g e B y G u r p r e e t S i n g h http://gsbprogramming.blogspot.in/ Q3: How testing in multiplatform environment is performed? A: Software designed to run on more than one platform must undergo two tests. The first test is to validate that the software performs its intended functions. The second test is that the software will perform in the same manner regardless of the platform on which it is executed. Each platform on which software is designed to execute operationally may have slightly different characteristics. These distinct characteristics include various operating systems, hardware configurations, operating instructions, and supporting software, such as database management systems. These different characteristics may or may not cause the software to perform its intended functions differently. The objective of testing is to determine whether the software will produce the correct results on various platforms. Testers face three major challenges when testing in a multiplatform environment. These challenges are:  Determining the type of platform that users operate for the processing  Determining which software packages are available to those users  Determining the type of processing users will perform in a multiplatform environment The following six tasks should be performed to validate that software performs consistently in a multiplatform environment: 1. Define platform configuration concerns. 2. List needed platform configurations. 3. Assess test room configurations. 4. List structural components affected by the platform(s). 5. List interfaces platform affects. 6. Execute the tests. Define Platform Configuration Concerns The first task in testing a multiplatform environment is to develop a list of potential concerns about that environment. The testing that follows will then determine the validity of those concerns. The recommended process for identifying concerns is error guessing. Define Platform Configuration Concerns The first task in testing a multiplatform environment is to develop a list of potential concerns about that environment. The testing that follows will then determine the validity of those concerns. The recommended process for identifying concerns is error guessing. Assess Test Room Configurations The testers need to determine whether the platforms available in the test room are acceptable for testing.
  • 9. 9 | P a g e B y G u r p r e e t S i n g h http://gsbprogramming.blogspot.in/ List Structural Components Affected by the Platform(s) Structural testing deals with the architecture of the system. Architecture describes how the system is put together. It is used in the same context that an architect designs a building. List Interfaces the Platform Affects Systems tend to fail at interface points—that is, the points at which control is passed from one processing component to another (for example, when data is retrieved from a database, output reports are printed or transmitted, or a person interrupts processing to make a correction). The purpose of this task is to identify those interfaces so that they can be tested. Execute the Tests The platform test should be executed Q4: Explain graph based testing in detail A: Graph based testing is useful to represent a transaction or work flows. Cause and effect graphs are generated and cyclometric complexity considered in using the test cases. Graph-based testing first builds a graph model for the program under test, and then tries to cover certain elements in the graph model. Each and every application is buildup 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. The software engineer begins by creating a graph- a collection of nodes that represent objects; links that represent the relationships between objects; node weights that describe the properties of a node(e.g., a specific data value or state behavior); and link weights that describe some characteristic of a link.
  • 10. 10 | P a g e B y G u r p r e e t S i n g h http://gsbprogramming.blogspot.in/ General outline for graph based testing with respect to language processor is:  Identify the grammar for the scenario. In some cases the scenario can be context-free grammar, which may require a more sophisticated representation of a “state diagram”  Design test cases corresponding to each valid state-input combination  Design test cases corresponding to the most common invalid combination of state-input. Q5: Differentiate between Equivalence partitioning and boundary value analysis A: Boundary value analysis and equivalence partitioning both are test case design strategies in black box testing. Equivalence Class Partitioning In this method the input domain data is divided into different equivalence data classes. This method is typically used to reduce the total number of test cases to a finite set of testable test cases, still covering maximum requirements. In short it is the process of taking all possible test cases and placing them into classes. One test value is picked from each class while testing. Using equivalence partitioning method above test cases can be divided into three sets of input data called as classes. Each test case is a representative of respective class. Test case values are selected in such a way that largest number of attributes of equivalence class can be exercised. Equivalence partitioning uses fewest test cases to cover maximum requirements. It can be used at any level of software for testing and is preferably a good technique to use first. In this technique, only one condition to be tested from each partition. Because we assume that, all the conditions in one partition behave in the same manner by the software. In a partition, if one condition works
  • 11. 11 | P a g e B y G u r p r e e t S i n g h http://gsbprogramming.blogspot.in/ other will definitely work. Likewise we assume that, if one of the condition does not work then none of the conditions in that partition will work. Equivalence partitioning is a testing technique where input values set into classes for testing.  Valid Input Class = Keeps all valid inputs.  Invalid Input Class = Keeps all Invalid inputs. Boundary Value Analysis It’s widely recognized that input values at the extreme ends of input domain cause more errors in system. More application errors occur at the boundaries of input domain. ‘Boundary value analysis’ testing technique is used to identify errors at boundaries rather than finding those exist in center of input domain. Boundary value analysis is a next part of Equivalence partitioning for designing test cases where test cases are selected at the edges of the equivalence classes. Boundary value analysis is often called as a part of stress and negative testing. Boundary value analysis is a test case design technique to test boundary value between partitions (both valid boundary partition and invalid boundary partition). A boundary value is an input or output value on the border of an equivalence partition, includes minimum and maximum values at inside and outside boundaries. Using Boundary Value Analysis technique tester creates test cases for required input field. For example; an Address text box which allows maximum 500 characters. So, writing test cases for each character once will be very difficult so that will choose boundary value analysis.