Stnotes
Stnotes
Stnotes
Test Plan A Test Plan is a detailed document that describes the DD Path is a technique of Path testing in which, The Control
Software testing is the act of examining the artifacts and the test strategy, objectives, schedule, estimation, deliverables, and Flow Graph (CFG) can be broken into various Decision to
behavior of the software under test by validation and verification. resources required to perform testing for a software product. Test Decision paths and then collapsed into individual nodes.
Software testing can also provide an objective, independent view Plan helps us determine the effort needed to validate the quality
of the software to allow the business to appreciate and of the application under test. Data Flow Testing is a type of structural testing. It is a method
understand the risks of software implementation. Types of Test Plan: that is used to find the test paths of a program according to the
Software testing can be divided into two steps: 1-Master Test Plan Master Test Plan is a type of test plan that has locations of definitions and uses of variables in the program. It
1) Verification: It refers to the set of task that insures that the multiple levels of testing. It includes a complete test strategy. has nothing to do with data flow diagrams.
software correctly implements specific function. 2-Phase Test Plan A phase test plan is a type of test plan that Data Flow Testing uses the control flow graph to find the
2) Validation: It refers to a different set of task that insures that addresses any one phase of the testing strategy. For example, a situations that can interrupt the flow of the program. It is
the software that has been built is traceable to customer list of tools, a list of test cases, etc. concerned with: *Statements where variables receive values,
requirements. 3-Specific Test Plans Specific test plan designed for major types *Statements where these values are used or referenced.
Software testing can be broadly classified into 2 types: of testing like security testing, load testing, performance testing,
1) Manual Testing: Manual testing is a software testing process etc. In other words, a specific test plan designed for Regression Testing is the process of testing the modified
in which test cases are executed manually without using any non-functional testing. parts of the code and the parts that might get affected due to the
automated tool. All test cases executed by the tester manually What is the Importance of Test Plan? modifications to ensure that no new errors have been introduced
according to the end user's perspective. It ensures whether the 1) Help people outside the test team such as developers, in the software after the modifications have been made.
application is working, as mentioned in the requirement business managers, customers understand the details of testing. Regression means return of something and in the software field,
document or not. Test cases are planned and implemented to 2) Test Plan guides our thinking. It is like a rule book, which needs it refers to the return of a bug.
complete almost 100 percent of the software application. Test to be followed. When to do regression testing? 1) When a new functionality
case reports are also generated manually. Manual Testing is one 3) Important aspects like test estimation, test scope, Test Strategy is added to the system and the code has been modified to absorb
of the most fundamental testing processes as it can find both are documented in Test Plan, and so it can be reviewed by and integrate that functionality with the existing code. 2) When
visible and hidden defects of the software Management Team and re-used for other projects. some defect has been identified in the software and the code is
2) Automation Testing: In automation testing, the test How to write a Test Plan debugged to fix it. 3) When the code is modified to optimize its
automation engineer will write the test script or use the You already know that making a Test Plan is the most important working.
automation testing tools to execute the application. On the other task of Test Management Process. Follow the seven steps below Process of Regression testing: Firstly, whenever we make
hand, in manual testing, the test engineer will write the test cases to create a test plan as per IEEE 829 1) Analyze the product 2) some changes to the source code for any reasons like adding
and implement the software on the basis of written test cases. In Design the Test Strategy 3) Define the Test Objectives 4) Define new functionality, optimization, etc. then our program when
test automation, the test engineer can execute repetitive tasks Test Criteria 5) Resource Planning 6) Plan Test Environment 7) executed fails in the previously designed test suite for obvious
and other related tasks. In manual testing, it is a tedious process Schedule & Estimation 8) Determine Test Deliverables reasons. After the failure, the source code is debugged in order to
to implement the repetitive take again and again. Software Testing identify the bugs in the program. After identification of the bugs in
is essential for the betterment of the application and software. But Risk Analysis (example spiral model): Risk analysis in the source code, appropriate modifications are made.
apart from this many of us do not know that Software Testing is software testing is an approach to software testing where Techniques: 1) Select all test cases: In this technique, all the
most time consuming and difficult task to perform. People still software risk is analyzed and measured. Traditional software test cases are selected from the already existing test suite. It is
believe that Software Testing is an easy task anybody can do it testing normally looks at relatively straight-forward function the most simple and safest technique but not much efficient. 2)
easily but in reality Software Testing is opposite of it because it is testing (e.g. 2 + 2 = 4). Select test cases randomly: In this technique, test cases are
not an easy task to perform. Software Testing is as difficult as Spiral model is one of the most important Software selected randomly from the existing test-suite but it is only useful
developing software because now days it requires more human Development Life Cycle models, which provides support for Risk if all the test cases are equally good in their fault detection
efforts, as everyone wants quality so doing Software Testing are Handling. In its diagrammatic representation, it looks like a spiral capability which is very rare. Hence, it is not used in most of the
become difficult because it takes lot of time and money. with many loops. The exact number of loops of the spiral is cases. 3) Select modification traversing test cases: In this
unknown and can vary from project to project. Each loop of the technique, only those test cases are selected which covers and
Software Testing – Hard and Difficult spiral is called a Phase of the software development process. tests the modified portions of the source code the parts which are
Performing Software Testing is considered as Difficult as well as Different phases of the Spiral Model: 1) Objectives affected by these modifications? 4) Select higher priority test
hard too because of the following reasons which are shown determination and identify alternative solutions: Requirements cases: In this technique, priority codes are assigned to each test
below. are gathered from the customers and the objectives are identified, case of the test suite based upon their bug detection capability,
1. Software Testing is hard and difficult because we need to test elaborated, and analyzed at the start of every phase. 2) Identify customer requirements, etc. After assigning the priority codes,
the software/application for both valid and invalid inputs and in and resolve Risks: During the second quadrant, all the possible test cases with highest priorities are selected for the process of
Software Testing we also check the performance parameters as solutions are evaluated to select the best possible solution. Then regression testing.
well as functionality too. the risks associated with that solution are identified and the risks Advantages of Regression Testing: It ensures that no new
2. Another reason for considering Software Testing hard as well
as difficult because during the time of testing we always need to are resolved using the best possible strategy. 3) Develop next bugs has been introduced after adding new functionalities to the
give the inputs in such a way that each and every line of the version of the Product: During the third quadrant, the identified system. It helps to maintain the quality of the source code.
program/code is tested efficiently. features are developed and verified through testing. At the end of Disadvantages of Regression Testing: It can be time and
3. Another reason for being hard and difficult is that tester needs the third quadrant, the next version of the software is available. resource consuming if automated tools are not used. It is
to give inputs randomly and ensure that the software/application 4) Review and plan for the next Phase: In the fourth quadrant, the required even after very small changes in the code.
never fails. Customers evaluate the so far developed version of the software.
4. Another reason is that we need to test the software by keeping In the end, planning for the next phase is started. Q. Explain Risk Analysis Defect Management
the user perspective in mind means by keeping in mind how end A risk analysis performed during software testing helps to
user is using it and check whether the error messages displayed identify areas where software flaws could result in serious issues
properly or not. Structural Testing Functional Testing in production. By identifying areas of concern early, developers
are able to proactively remediate and reduce the overall risk of a
Structural testing is a type of software testing which uses the production defect.
internal design of the software for testing or in other words the Defect Management Process? The defect management
software testing which is performed by the team which knows the Structural testing is done Functional testing can be process is the core of software testing. Once the defects have
development phase of the software, is known as structural in manual mode. performed either manually or been identified, the most significant activity for any organization
testing. automatically. is to manage the flaws, not only for the testing team but also for
Structural Testing Techniques: Structural test cases are everyone involved in the software development or project
1-Statement Coverage: It aims to test all the statements present in designed based on Functional testing would depend management process.
the program Adequacy Criterion should be equal to 1 to ensure external specifications and on both external specifications and Objective of Defect Management Process (DMP) 1) The
100% coverage. It is a good measure of testing each part in terms internal code structure is the internal workings of the primary objective of DMP is to expose the defects at an early
of statements but it is not a good technique for testing the control not considered component. stage of the software development process. 2) The execution of
flow. the defect management process will help us enhance the process
2-Branch Coverage: It is also known as Decision coverage Structural test cases are Functional test cases are based on and implementation of software. 3) The defect management
testing. It aims to test all the branches or edges at least once in based on input/output actions that a component can process reduces the impact or effects of defects on software.
the test suite or to test each branch from a decision point at least conditions perform. Stages of Defect Management Process The defect
once. It provides solution for the problem faced in Statement management process includes several stages, which are as
coverage. Structural testing is used Functional testing verifies that the follows: 1) Defect Prevention 2) Deliverable Baseline 3) Defect
3-Condition Coverage: It aims to test individual conditions with to find errors in data system adheres to acceptable Discovery 4) Defect Resolution 5) Process Improvement 6)
possible different combination of Boolean input for the structure usage and standards of information Management Reporting
expression. It is modification of Decision coverage but it provides internal coding logic processing and does not contain
better coverage and the problem discussed under Branch any defects.
coverage can be resolved here. Structural testing is done
4-Path Coverage: It aims to test the different path from entry to after the coding process is Functional testing is performed
the exit of the program, which is a combination of different completed by maintenance during development and/or In regression testing, In development testing, we use
decisions taken in the sequence. The paths can be too many to be groups. maintenance. test suites and test plans the existing test suite and test
considered for testing, for ex, a loop can go on and on. It can be are created. plans.
avoided using cyclomatic complexity, which help in finding out Structural test cases do Functional test cases may have to
the redundant test cases. not depend on data values use some specific value for a test In this, all software In this testing, we retest the
case to pass or fail (error components are tested. affected components that have
Advantages of Structural Testing 1) Structural testing does not checking). been changed by modifications.
require a lot of manual work as it is an automated process. 2) The budget gives time for
Structural testing is not a time-consuming process. 3) All the testing The budget often does not give
early defects can easily be identified 4) It removes the dead code time for regression testing
(extra code) or statements easily. Decision Table: Decision tables are used in various engineering Only once the testing is
Disadvantages of Structural Testing 1) To perform structural fields to represent complex logical relationships. This testing is a performed on a software In development testing, testing of
testing, in-depth knowledge of programming languages is very effective tool in testing the software and its requirements product. a software product is done many
required. 2) Even though structural testing is automatic, it might management. The output may be dependent on many input times over the life cycle of a
turn out very difficult because it involves training in the tool used conditions and decision tables give a tabular view of various The testing is conducted software
for testing. 3) It is expensive in respect of money because combinations of input conditions and these conditions are in the under the pressure of the
sometimes resources are necessary to efficiently perform form of True (T) and False (F). release date of the software. The testing is conducted in crisis
structural testing. 4) There is also a small chance that some Types of Decision Tables: Limited Entry: In the limited entry situations, under greater time
commands, statements or branches could be missed decision tables, the condition entries are restricted to binary This type of Testing is about constraints
unintentionally. values. Extended Entry: In the extended entry decision table, to done on a old system
the condition entries have more than two values. with additional The testing is conducted in crisis
Functional Testing: It is a type of software testing which is functionalities. situations, under greater time
used to verify the functionality of the software application, constraints
whether the function is working according to the requirement
Test Estimation is a management activity which approximates
specification. In functional testing, each function tested by giving how long a Task would take to complete. Estimating effort for the
the value, determining the output, and verifying the actual output test is one of the major and important tasks in Test Management.
with the expected value. Functional testing performed as Slicing or program slicing is a technique used in software
black-box testing which is presented to confirm that the testing which takes a slice or a group of program statements in
functionality of an application or system behaves as we are the program for testing particular test conditions or cases that Quality Assurance (QA) Quality Control (QC)
expecting. It is done to verify the functionality of the application. may affect a value at a particular point of interest.
Process to perform functional testing–. 1) There is a need to
understand the software requirement. 2) Identify test input data 3) It is of 2 types: 1. Static slicing: A static slice of a program
Compute the expected outcome with the selected input values. 4) contains all statements that may affect the value of a variable at
Execute test cases 5) Comparison between the actual and the any point for any arbitrary execution of the program. Static slices It focuses on providing assurance It focuses on fulfilling the
computed result are generally larger. It considers every possible execution of the that the quality requested will be quality requested.
program. 2. Dynamic slicing: A dynamic slice of a program achieved.
Advantages of Functional Testing: 1) It ensures to deliver a contains all the statements that actually affect the value of a It is the technique to verify
bug-free product. 2) It ensures to deliver a high-quality product. 3) variable at any point for a particular execution of the program. It is the technique of managing quality.
No assumptions about the structure of the system. 4) This testing Dynamic slices are generally smaller. Considers only a particular quality.
is focused on the specifications as per the customer usage. execution of the program. It is not included during the
Disadvantages of Functional Testing: 1) There are high chances It is involved during the development phase.
of performing redundant testing. 2) Logical errors can be missed Testers are specialists in these professions may work on test development phase.
out in the product. 3) If the requirement is not complete then analysis, test design, specialized test types, or test automation. It always includes the
performing this testing becomes difficult. Different persons may take on the role of tester at different test It does not include the execution execution of the program.
levels depending on the risks associated with the product and of the program.
Mutation Testing is a type of Software Testing that is performed project, as well as the software development lifecycle model It is a corrective tool.
to design new software tests and also evaluate the quality of chosen. The role of a tester is frequently performed by developers It is a managerial tool. It is product oriented.
already existing software tests. Mutation testing is related to at the component testing and component integration testing It is process oriented.
modification a program in small ways. It focuses to help the tester levels, for example. Business analysts, subject matter experts, The aim of quality control is
develop effective tests or locate weaknesses in the test data used and users frequently serve as testers at the acceptance test level. The aim of quality assurance is to to identify and improve the
for the program. Mutation testing can be applied to design prevent defects. defects.
models, specifications, databases, tests, and XML. It is a Cyclomatic complexity is a software metric used to measure
structural testing technique, which uses the structure of the code the complexity of a program. Thomas J. McCabe developed this
to guide the testing process. metric in 1976.McCabe interprets a computer program as a set of
a strongly connected directed graph. Nodes represent parts of the
Test Manager: The test manager is in charge of the entire test source code having no branches and arcs represent possible
process as well as successful direction of the test operations. A control flow transfers during program execution. The notion of
professional test manager, as well as a project manager, program graph has been used for this measure, and it is used to An Error is a The Fault is a If the software has
development manager, or quality assurance manager, can measure and control the number of paths through a program. The mistake made in state that causes lots of defects, it
execute the test management function. Several test teams may complexity of a computer program can be correlated with the the code; that's the software to leads to failure or
report to a test manager, test coach, or test coordinator in larger topological complexity of a graph. why we cannot fail to causes failure.
projects or companies, with each team led by a test leader or lead McCabe's sof Complexity = E - N + 2P Where, E = Number of execute or accomplish its
tester. edges in control flow graph N = Number of vertices in control flow compile code. essential The failure finds
graph P = Program factor function. by the manual test
Boundary Value Analysis : is based on testing the boundary Path Testing is a structural testing method based on the source The Developers engineer through
values of valid and invalid partitions. The behavior at the edge of code or algorithm and NOT based on the specifications. It can be and automation Human mistakes the development
the equivalence partition is more likely to be incorrect than the applied at different levels of granularity. test engineers cause fault. cycle
behavior within the partition, so boundaries are an area where Alpha Testing is done within the organization, while Beta raise the error.
testing is likely to yield defects. It checks for the input values near Testing is done in the user's environment. During Alpha Testing
the boundary that have a higher chance of error. Every partition only functionality and usability are tested, while during Beta
has its maximum and minimum values and these maximum and Testing usability, functionality, security, and reliability are tested
minimum values are the boundary values of a partition. to the same depth.
Software Quality Assurance (SQA) is a set of exercises for
ensuring quality in software measures. It ensures that created A Test maturity model's primary purpose is to find the maturity
programming meets and follows the characterized or normalized and provide targets to enhance the software testing process in Testing is the process to
quality determinations. SQA is a progressing cycle inside the order to accomplish development. It can be used as a stand-alone find bugs and errors. Debugging is the process of
Software Development Life Cycle (SDLC) that regularly checks model or completed with any process improvement model. The correcting the bugs found during
the created software to ensure it meets the ideal quality test Maturity model contains five different levels, which will help It is the process to identify testing.
measures. the organization fix its maturity. To achieving a higher level of test the failure of implemented
SQA practices are implemented in many kinds of software maturity, these five levels will lead us to identify the next code. It is the process to give
advancement, paying little mind to the basic software development steps: absolution to code failure
improvement model being utilized. SQA consolidates and Level1: Initialization - The purpose behind initialization levels is to Testing is the display of
actualizes software testing procedures to test the product. As ensure that the software should execute successfully and there is errors. Debugging is a deductive process
opposed to checking for quality after fulfillment, SQA measures no obstruction.
test for quality in each period of improvement, until the product is Level2: Definition - The critical purpose of the definition level is to Testing is done by the tester Debugging is done by either
finished. ensure that the software product implements according to the programmer or the developer.
Components of SQA System : requirements, develop testing, debugging goals, and policies that There is no need of design
1. Pre-project components 2. Components of project life cycle are followed consistently. knowledge in the testing Debugging can’t be done without
activities assessment 3. Components of infrastructure error Level3: Integration - The primary purpose of executing this level process. proper design knowledge.
prevention and improvement 4. Components of software quality into the test maturity model is to ensure that the testing is
management 5. Components of standardization, certification, and integrated with the software lifecycle and becomes a part of it. Testing can be done by Debugging is done only by
SQA system assessment 6. Organizing for SQA — the human Level4: Measurement and Management - he primary purpose of insiders as well as insiders. An outsider can’t do
components executing this level into the test maturity model is to ensure that outsiders. debugging.
1. Pre-project components: – the establishment of a test measurement program.
This stage is characterized ahead of executing the undertaking. A Level5: Optimization - At the optimization level, we mainly focus
workout which are few are done at this time, they are: on defect prevention rather than defect detection and with the
(i) Guaranteeing the assets, plan plus the investing plan required. help of the different tools, we can perform this testing.
Those need to characterize to synchronize sufficiently everything
since it arranged. McCall’s factor model - McCall’s factor model classifies all
(ii) Apart from the assets, plan together with a spending plan, software requirements into 11 software quality factors. The 11
there are other plans that should be characterized. These are factors are grouped into three categories – product operation, Black Box
typically quality and improvement plans. product revision and product transition – as follows: Gray Box
(iii) The engineer plus the proprietor of this undertaking might 1. Product operation factors: According to McCall’s quality This testing has White Box
have an alternative perspective concerning the quality. Therefore, factors model, five software quality factors are included in the Low granularity. This testing has a
it’s characterized together by those two gatherings to modify the product operation category, all of which deal with requirements medium level of This testing has
real points of view which will happen. that directly affect the daily operation of the software. These It is done by granularity. high-level
factors are as follows. end-users and granularity.
2. Components of project life cycle activities assessment: – 1-Correctness: Correctness requirements are defined in a list also done by the It is done by
The workouts are partitioned into 2 phases at this time. They’ve of the software system’s required outputs, such as a query tester, developers. end-users (called It is generally done
been, the advancement life period phase and the activity upkeep display of a customer’s balance in the sales accounting user acceptance by testers and
stage. The workouts are acknowledging the master plan and information system, or the air supply as a function of temperature Here, Internals are testing), also done developers.
development blunders during the enhancement life cycle phase. specified by the firmware of an industrial control unit. not required to be by testers and
Also, it is likewise partitioned once again into the following Examples include: –Specifying accuracies for correct outputs at, known developers. Here, the Internal
sub-classes, that is:1Review 2-Expert opinions 3-Software testing say, NLT <1% errors, that could be affected by inaccurate data or code of the
faulty calculations; .It is likely to be Here, Internals application and
3. Components of infrastructure error prevention and 2-Reliability: Reliability requirements deal with failures to less exhaustive relevant to the database is known.
improvement: – The action that is fundamental of the stage would provide service. They determine the maximum allowed software than the other two. testing is known
be to kill or make the mistakes disappeared or well, at any price system failure rate, and can refer to the entire system or to one or . Most exhaustive
reduce the rate of blunders. more of its separate functions. Example specs: –A heart It is kind of among all three.
4. Components of software quality management: – monitoring system must have a failure rate of less than one per in-between.
The concept goal is controlling the enhancement maintenance million cases.
and period and in addition, presenting the help that is
administrative forestalling and limiting timetable and spending
disappointment of the results. 3-Efficiency: Efficiency requirements deal with the hardware
resources needed to perform all the functions of the software Six Sigma in ST
There aredifferent components of the software system in conformance to all other requirements. The main Six Sigma is the process of producing high and improved quality
maintenance process as shown below: hardware resources to be considered are the computer’s output. This can be done in two phases – identification and
1. Change Request – processing capabilities (measured in MIPS – million instructions elimination. The cause of defects is identified and appropriate
In the maintenance process initially, the request for change is per second, MHz or megahertz – million cycles per second, etc.), elimination is done which reduces variation in whole processes.
made. Example spec: An outdoor meteorological unit, equipped with a A six sigma method is one in which 99.99966% of all the products
2. Change Management – 1000 milli-ampere hour cell, should be capable of supplying the to be produced have the same features and are of free from
In this place, the status of all the change requests is identified power requirements of the unit for at least 30 days. defects.
and described. Characteristics of Six Sigma:
3. Impact Analysis – 4-Integrity: Integrity requirements deal with the software system 1.Statistical Quality Control:Six Sigma is derived from the Greek
Following activities are performed in this place: security, that is, requirements to prevent access to unauthorized Letter ? which denote Standard Deviation in statistics. Standard
Identify all the systems and the system products affected by a persons, to distinguish between the majority of personnel allowed Deviation is used for measuring the quality of output.
change request. to see the information 2.Methodical Approach:The Six Sigma is a systematic approach
Make an estimate of the resources needed to effect the change. Example spec: The Engineering Department of a local of application in DMAIC and DMADV which can be used to
Analyze the benefits of the change. municipality operates a GIS (Geographic Information System). improve the quality of production. DMAIC means for
4. System Release Planning – The Department is planning to allow citizens access to its GIS Design-Measure- Analyze-Improve-Control. While DMADV stands
In this phase, the schedule and the contents of the software files through the Internet. for Design-Measure-Analyze-Design-Verify.
release are planned. The changes can be made to all types of 3. Fact and Data-Based Approach:The statistical and methodical
software maintenance. 5-Usability: Usability requirements deal with the scope of staff method shows the scientific basis of the technique.
5. Change Implementation – resources needed to train a new employee and to operate the 4. Project and Objective-Based Focus: The Six Sigma process is
The implement of changes can be by first designing the changes, software system. implemented to focus on the requirements and conditions.
then coding for these changes, and finally testing the changes. Example spec: A staff member should be able to process n
Preferably the regression testing must be performed while testing transactions / unit time. (me). A staff member should be able to Configuration Management:
the changes. handle at least 60 service calls a day (CM) is a systems engineering process for establishing and
6. System Release – maintaining consistency of a product's performance, functional,
During software release, following points should be described: and physical attributes with its requirements, design, and
Documentation , Software , Training , Hardware Changes , Data 2. Product revision factors: According to the McCall model of operational information throughout its life.
Conversion software quality factors, three quality factors comprise the The configuration management process is comprised of 5
product revision category. These factors deal with those disciplines that will establish a product’s baseline, and manage
Following are the five different views of quality: requirements that affect the complete range of software any changes over time.
i) Transcendental View : It envisages quality as something maintenance activities . These are as follows. 1. Planning and Management: This guides the design of the
that can be recognized but is difficult to define. Here quality is product, who has what responsibilities, and includes which tools
something that can be recognized through experience but is not and procedures to use. It identifies third-party requirements and
defined in some tractable form. 6-Maintainability: Maintainability requirements determine the the audit and review process.
Quality is viewed to be something ideal, which is too complex to efforts that will be needed by users and maintenance personnel to 2. Identification: Allows for setting baselines and identifying the
lend itself to be precisely defined. identify the reasons for software failures, to correct the failures, configuration of assets and/or software.
ii) User View: It perceives quality as fitness for purpose. and to verify the success of the corrections. 3. Control: Maintain control of configurations, change requests,
According to this view, while evaluating the quality of the product, Example spec: (a) The size of a software module will not exceed and execution of changes to a system and its documentation.
one must ask the key question "Does the product satisfy user 30 statements. (b) The programming will adhere to the company 4.Status Accounting: The process of recording and reporting
needs and expectations?" coding standards and guidelines. configuration item descriptions and changes from the baseline
In this view, a user is concerned with whether or not a product is over the item’s life-cycle. If a problem arises, this allows for a
fit for use. Quality is not just viewed in terms of what a product 7-Flexibility: The capabilities and efforts required to support quick determination of the baseline configuration and changes
can deliver, but it is also influenced by the service provisions in adaptive maintenance activities are covered by the flexibility that have taken place over time.
the sales contract. requirements. These include the resources (i.e. in man-days) 5. Verification/Audit: Be able to audit what you have implemented
iii) Manufacturing View : Here quality is understood as required to adapt a software package to a variety of customers of and maintain positive control of all managed product
conformance to the specifications. The quality level of a product the same trade, of various extents of activities, of different ranges
is determined by the extent to which the product meets its of products and so on The primary reasons for Implementing Technical Software
specifications. Example spec: TSS (teacher support software) should be suitable Configuration Management System are:
Any deviation from the stated requirements is seen as reducing for teachers of all subjects and all school levels (elementary, 1-There are multiple people working on software which is
the quality of the product. The manufacturing view has its genesis junior and high schools). continually updating
in the manufacturing sectors, such as the automobile and 2-It may be a case where multiple version, branches, authors are
electronics sectors. 8-Testability: Testability requirements deal with the testing of an involved in a software config project, and the team is
information system as well as with its operation. Testability geographically distributed and works concurrently
iv) Product View : In this case, quality is viewed as tied to the requirements for the ease of testing are related to special features 3-Changes in user requirement, policy, budget, schedule need to
inherent characteristics of the product. A product's internal in the programs that help the tester, for instance by providing be accommodated.
qualities determine its external qualities. predefined intermediate results and log files. 4-Software should able to run on various machines and Operating
The product view is attractive because it gives rise to an Example space: An industrial computerized control unit is Systems
opportunity to explore casual relationships between internal programmed to calculate various measures of production status, 5-Helps to develop coordination among stakeholders
properties and external qualities of a product. report the performance level of the machinery, and operate a
An example of the product view of software quality is that high warning signal in predefined situations. CMMI
degree of modularity, which is an internal property, makes a The Capability Maturity Model Integration (CMMI) is a model that
software testable and maintainable. aids in identifying the strengths and weaknesses of an
v) Value - Based View : Quality, in this perspective, depends on 3. Product transition factors:According to McCall, three organization’s current processes and shows the way to
the amount the customer is willing to pay for it. The value based quality factors are included in the product transition category, a improvement. CMMI’s primary goal is to create high-quality
view represents a merger of two independent concepts: category that pertains to the adaptation of software to other software. CMMI is a technology offered by SEI that assists
excellence and worth where Quality is the measure of excellence environments and its interaction with other software systems. businesses in standardizing software development, testing, and
and value is the measure of worth. deployment to improve the product’s quality. The implementation
Quality is meaningless if a product does not make economic of standards that will assist raise the quality of their software
sense. The value based view represents a trade- off between cost 9-Portability: Portability requirements tend to the adaptation of products is supported by CMMI. According to CMMI, a complete
and quality. a software system to other environments consisting of different model consisting of five “Maturity Levels” or three “Capability
hardware, different operating systems, and so forth. Levels” is essential to creating excellent software.
The five Software Capability Maturity levels have been Example Space: A software package designed and programmed
defined as: to operate in a Windows 2000 environment is required to allow A Control Flow Graph (CFG) is the graphical representation of
1. Initial The software process is characterised as ad hoc, and low-cost transfer to Linux and Windows NT environments. control flow or computation during the execution of programs or
occasionally even chaotic. Few processes are defined, and applications. Control flow graphs are mostly used in static
success depends on individual effort and heroics. 10-Reusability: Reusability requirements deal with the use of analysis as well as compiler applications, as they can accurately
2. Repeatable -Basic project management processes are software modules originally designed for one project in a new represent the flow inside of a program unit.
established to track cost, schedule, and functionality. The software project currently being developed. They may also enable
necessary process discipline is in place to repeat earlier future projects to make use of a given module or a group of Unit Testing - Unit testing is a method of testing individual units
successes on projects with similar applications. modules of the currently developed software. or components of a software application. It is typically done by
3. Defined - The software process for both management and Example Space: A software development unit has been required developers and is used to ensure that the individual units of the
engineering activities is documented, standardised, and to develop a software system for the operation and control of a software are working as intended. Unit tests are usually
integrated into all processes for the organisation. All projects use hotel swimming pool that serves hotel guests and members of a automated and are designed to test specific parts of the code,
an approved version of the organisation’s standard software pool club. such as a particular function or method.
process for developing and maintaining software.
4. Managed -Detailed measures of the software process and 11-Interoperability: Interoperability requirements focus on
product quality are collected. Both the software process and creating interfaces with other software systems or with other
Integration Testing - Integration testing is a method of testing
products are quantitatively understood and controlled. equipment firmware (for example, the firmware of the production how different units or components of a software application
5. Optimising -Continuous process improvement is enabled by machinery and testing equipment interfaces with the production interact with each other. It is used to identify and resolve any
quantitative feedback from the process and from piloting control software). issues that may arise when different units of the software are
innovative ideas and technologies. Example Space: The firmware of a medical laboratory’s combined. Integration testing is typically done after unit testing
equipment is required to process its results (output) according to and before functional testing, and is used to verify that the
role of moderator in review process? The moderator (or a standard data structure that can then serve as input for a different units of the software work together as intended.
review leader) leads the review process. He or she deter-mines, in number of standard laboratory information systems.
cooperation with the author, the type of review, approach and the Smoke Testing - This test is done to make sure that the
composition of the review team. The moderator performs the Risk Based Testing (RBT) is a software testing type which is software under testing is ready or stable for further testing
entry check and the follow-up on the rework, in order to control based on the probability of risk. It involves assessing the risk It is called a smoke test as the testing of an initial pass is done to
the quality of the input and output of the review process. The based on software complexity, criticality of business, frequency check if it did not catch the fire or smoke in the initial switch on.
moderator also schedules the meeting, disseminates documents of use, possible areas with Defect etc. Risk based testing
before the meeting, coaches other team members, paces the prioritizes testing of features and functions of the software System Testing - This software is tested such that it works fine
meeting, leads possible discussions and stores the data that is application which are more impactful and likely to have defects. for the different operating systems. It is covered under the black
collected. Risk is the occurrence of an uncertain event with a positive or box testing technique. In this, we just focus on the required input
negative effect on the measurable success criteria of a project. and output without focusing on internal working.