å°Šę•¬ēš„ å¾®äæ”걇ēŽ‡ļ¼š1円 ā‰ˆ 0.046166 元 ę”Æä»˜å®ę±‡ēŽ‡ļ¼š1円 ā‰ˆ 0.046257元 [退å‡ŗē™»å½•]
SlideShare a Scribd company logo
Unit-6
Software Coding &
Testing
Coding Phase
ā€¢ Coding is undertaken once design phase is
complete.
ā€¢ During coding phase:
ā€“ every module identified in the design document is
coded and unit tested.
ā€¢ Unit testing :
ā€“ testing of different modules of a system in isolation.
Unit Testing
ā€“Why test each module in isolation first?
ā€“then integrate the modules and again test the
set of modules?
ā€“why not just test the integrated set of modules
once thoroughly?
Unit Testing
ļ® It is a good idea to test modules in
isolation before they are integrated:
ļ® it makes debugging easier.
ļ® If an error is detected when several modules are
being tested together,
ļ® it would be difficult to determine which module has the
error.
ļ® Another reason:
ļ® the modules with which this module needs to interface
may not be ready.
Unit Testing
Integration Testing
ā€¢ After all modules of a system have
been coded and unit tested:
ā€“integration of modules is done
ā€¢ according to an integration plan.
Integration Testing
ā€¢ The full product takes shape:
ā€“ only after all the modules have been integrated.
ā€¢ Modules are integrated together according to an
integration plan:
ā€“ involves integration of the modules through a number
of steps.
Integration Testing
ā€¢ During each integration step,
ā€“a number of modules are added to the
partially integrated system
ā€¢ and the system is tested.
ā€¢ Once all modules have been integrated
and tested,
ā€“system testing can start.
System Testing
ā€¢ During system testing:
ā€“the fully integrated system is tested
against the requirements recorded in
the SRS document.
Coding
ā€¢ The input to the coding phase is the
design document.
ā€¢ During coding phase:
ā€“modules identified in the design
document are coded according to the
module specifications.
Coding
ā€¢ At the end of the design phase we have:
ā€“ module structure (e.g. structure chart) of the system
ā€“ module specifications:
ā€¢ data structures and algorithms for each module.
ā€¢ Objective of coding phase:
ā€“ transform design into code
ā€“ unit test the code.
Coding Standards
ā€¢ Good software development
organizations require their
programmers to:
ā€“adhere to some standard style of coding
ā€“called coding standards.
Coding Standards
ā€¢ Many software development organizations:
ā€“formulate their own coding standards that suits
them most,
ā€“require their engineers to follow these
standards rigorously.
Coding Standards
ā€¢ Advantage of adhering to a standard style of
coding:
ā€“it gives a uniform appearance to the codes
written by different engineers,
ā€“it enhances code understanding,
ā€“encourages good programming practices.
Coding Standards
ā€¢ A coding standard
ā€“sets out standard ways of doing several
things:
ā€¢ the way variables are named,
ā€¢ code is laid out,
ā€¢ maximum number of source lines allowed per
function, etc.
Coding guidelines
ā€¢ Provide general suggestions regarding
coding style to be followed:
ā€“leave actual implementation of the
guidelines:
ā€¢ to the discretion of the individual engineers.
Code inspection and code walk
throughs
ā€¢ After a module has been coded,
ā€“code inspection and code walk through
are carried out
ā€“ensures that coding standards are
followed
ā€“helps detect as many errors as possible
before testing.
Code inspection and code walk
throughs
ā€¢ Detect as many errors as possible during
inspection and walkthrough:
ā€“detected errors require less effort for
correction
ā€¢ much higher effort needed if errors were to be
detected during integration or system testing.
Representative Coding
Standards
ā€¢ Rules for limiting the use of globals:
ā€“ what types of data can be declared global and what
can not.
ā€¢ Naming conventions for
ā€“ global variables,
ā€“ local variables, and
ā€“ constant identifiers.
Representative Coding Standards
ā€¢ Header data:
ā€“ Name of the module,
ā€“ date on which the module was created,
ā€“ author's name,
ā€“ modification history,
ā€“ synopsis of the module,
ā€“ different functions supported, along with their
input/output parameters,
ā€“ global variables accessed/modified by the module.
Representative Coding Standards
ā€¢ Error return conventions and exception handling
mechanisms.
ā€“ the way error and exception conditions are handled
should be standard within an organization.
ā€“ For example, when different functions encounter
error conditions
ā€¢ should either return a 0 or 1 consistently.
Representative Coding Guidelines
ā€¢ Do not use too clever and difficult to understand
coding style.
ā€“ Code should be easy to understand.
ā€¢ Many inexperienced engineers actually take pride:
ā€“ in writing cryptic and incomprehensible code.
Representative Coding Guidelines
ā€¢ Clever coding can unclear meaning of the code:
ā€“ hampers understanding.
ā€“makes later maintenance difficult.
ā€¢ Avoid obscure side effects.
Representative Coding Guidelines
ā€¢ The side effects of a function call include:
ā€“ modification of parameters passed by reference,
ā€“ modification of global variables,
ā€“ I/O operations.
ā€¢ An obscure side effect:
ā€“ one that is not obvious from a casual examination of
the code.
Representative Coding Guidelines
ā€¢ Obscure side effects make it difficult to
understand a piece of code.
ā€¢ For example,
ā€“ if a global variable is changed obscurely in
a called module,
ā€“ it becomes difficult for anybody trying to
understand the code.
Representative Coding Guidelines
ā€¢ Do not use an identifier (variable name) for
multiple purposes.
ā€“ Programmers often use the same identifier for
multiple purposes.
ā€“ For example, some programmers use a temporary
loop variable
ā€¢ also for storing the final result.
Example use of a variable for
multiple purposes
ā€¢ for(i=1;i<100;i++)
{ā€¦..}
i=2*p*q;
return(i);
Use of a variable for multiple
purposes
ā€¢ The justification given by programmers for such
use:
ā€“ memory efficiency:
ā€“ e.g. three variables use up three memory locations,
ā€“ whereas the same variable used in three different
ways uses just one memory location.
Use of a variable for multiple
purposes
ā€¢ There are several things wrong with this
approach:
ā€“ hence should be avoided.
ā€¢ Each variable should be given a name indicating
its purpose:
ā€“ This is not possible if an identifier is used for multiple
purposes.
Use of a variable for multiple
purposes
ā€¢ Leads to confusion and annoyance
ā€“for anybody trying to understand the
code.
ā€“Also makes future maintenance difficult.
Representative Coding Guidelines
ā€¢ Code should be well-documented.
ā€¢ Rules of thumb:
ā€“ on the average there must be at least one comment
line
ā€¢ for every three source lines.
ā€“ The length of any function should not exceed 10
source lines.
Representative Coding Guidelines
ā€¢ Lengthy functions:
ā€“usually very difficult to understand
ā€“probably do too many different things.
Representative Coding Guidelines
ā€¢ Do not use goto statements.
ā€¢ Use of goto statements:
ā€“make a program unstructured
ā€“make it very difficult to understand.
Code Walk Through
ā€¢ An informal code analysis technique.
ā€“ undertaken after the coding of a module is complete.
ā€¢ A few members of the development team select
some test cases:
ā€“ simulate execution of the code by hand using these
test cases.
Code Inspection
ā€¢ For instance, consider:
ā€“ classical error of writing a procedure that modifies a
formal parameter
ā€“ while the calling routine calls the procedure with a
constant actual parameter.
ā€¢ It is more likely that such an error will be
discovered:
ā€“ by looking for this kind of mistakes in the code,
ā€“ rather than by simply hand simulating execution of the
procedure.
Code Inspection
ā€¢ Good software development companies:
ā€“ collect statistics of errors committed by their engineers
ā€“ identify the types of errors most frequently committed.
ā€¢ A list of common errors:
ā€“ can be used during code inspection to look out for
possible errors.
Commonly made errors
ā€¢ Use of uninitialized variables.
ā€¢ Nonterminating loops.
ā€¢ Array indices out of bounds.
ā€¢ Incompatible assignments.
ā€¢ Improper storage allocation and deallocation.
ā€¢ Actual and formal parameter mismatch in procedure
calls.
ā€¢ Jumps into loops.
Code Inspection
ā€¢ Use of incorrect logical operators
ā€“ or incorrect precedence among operators.
ā€¢ Improper modification of loop variables.
ā€¢ Comparison of equality of floating point values,
etc.
ā€¢ Also during code inspection,
ā€“ adherence to coding standards is checked.
Testing Tactics
Psychology of Testing
ā€¢ Test cases are designed to detect errors but does
not guarantee that all possible error get
detected.
ā€¢ There is no standard method for selecting test
cases.
ā€¢ Selection of test cases is an art.
ā€¢ One of the reason why organization is not
selecting developer as a tester is depend upon
human psychology.
Project Testing Flow
ā€¢ Unit Testing
ā€¢ Integration Testing
ā€¢ System Testing
ā€¢ User Acceptance Testing
Levels of Testing
Testing Process
ā€¢ Testing is carried out at the till later stage of
s/w development.
ā€¢ Testing is also necessary even after release of
product.
ā€¢ Therefore testing is considered as the
COSTLIEST activity in s/w devp. & should be
done efficiently.
Testing Principles
ā€¢ All tests should be traceable to customer requirements.
ā€¢ Tests should be planned long before testing begins.
ā€¢ The Pareto principle applies to software testing.
ā€¢ Testing should begin ā€œin the smallā€ and progress toward
testing ā€œin the large.ā€
ā€¢ Complete testing is not possible.
ā€¢ To be most effective, testing should be conducted by an
independent third party.
Software Testability
ā€¢ S/w testability is simply how easily system or program or product
can be tested.
ā€¢ Testing must exhibit set of characteristics that achieve the goal of
finding errors with a minimum of effort.
Characteristics of s/w Testability:
ā€¢ Operability - ā€œThe better it works, the more efficiently it can be
testedā€
ā€“ Relatively few bugs will block the execution of tests.
ā€“ Allowing testing progress without fits and starts.
ā€¢ Observability - "What you see is what you test.ā€œ
ā€“ Distinct output is generated for each input.
ā€“ System states and variables are visible or queriable during
execution.
ā€“ Incorrect output is easily identified.
ā€“ Internal errors are automatically detected & reported.
ā€“ Source code is accessible.
ā€¢ Controllability - "The better we can control the software, the
more the testing can be automated and optimized.ā€œ
ā€“ Software and hardware states and variables can be controlled
directly by the test engineer.
ā€“ Tests can be conveniently specified, automated, and
reproduced.
ā€¢ Decomposability - By controlling the scope of testing, we can
more quickly isolate problems and perform smarter retesting.
ā€“ Independent modules can be tested independently.
ā€¢ Simplicity - The less there is to test, the more quickly we can test it."
ā€“ Functional simplicity (e.g., the feature set is the minimum
necessary to meet requirements).
ā€“ Structural simplicity (e.g., architecture is modularized to limit the
propagation of faults).
ā€“ Code simplicity (e.g., a coding standard is adopted for ease of
inspection and maintenance).
ā€¢ Stability - "The fewer the changes, the fewer the disruptions to
testing."
ā€“ Changes to the software are infrequent.
ā€“ Changes to the software are controlled.
ā€“ Changes to the software do not invalidate existing tests.
ā€¢ Understandability ā€“ "The more information we have, the smarter
we will test."
ā€“ Dependencies between internal, external, and shared
components are well understood.
ā€“ Changes to the design are communicated to testers.
ā€“ Technical documentation is instantly accessible, well organized,
specific and detailed, and accurate.
Test Case Design
Specifies
ā€¢ how to carry out testing process?
ā€¢ Which unit need to be tested?
ā€¢ What are the tools that can used for testing?
Test Case Specification
Test
Case ID
Test
Case
Name
Test Case
Description
Test
Steps
Status
(pass/fail)
Test
Priority
Defect
Severity
Taxonomy of Testing
ā€¢ There are two general approaches of testing
1.Black Box Testing
2.White Box Testing
Black-box testing
ā€¢ Functional testing approach focuses on
application externals.
ā€¢ We can call it as Requirements-based or
Specifications-based.
ā€¢ Characteristics:
Functionality
Requirements, use, standards Correctness
Does system meet business requirements
Black-box testing
ā€¢ Type of Test during Black Box Approach:
1. System Testing
2. Acceptance Testing
Black box testing
ā€¢ Also called behavioral testing, focuses on the functional requirements
of the software.
ā€¢ It enables the software engineer to derive sets of input conditions that
will fully exercise all functional requirements for a program.
ā€¢ Black-box testing is not an alternative to white-box techniques but it is
complementary approach.
ā€¢ Black-box testing attempts to find errors in the following categories:
ā€“ Incorrect or missing functions,
ā€“ Interface errors,
ā€“ Errors in data structures or external data base access.
ā€“ Behavior or performance errors,
ā€“ Initialization and termination errors.
ā€¢ Black-box testing purposely ignored control structure, attention is
focused on the information domain. Tests are designed to answer the
following questions:
ā€“ How is functional validity tested?
ā€“ How is system behavior and performance tested?
ā€“ What classes of input will make good test cases?
ā€¢ By applying black-box techniques, we derive a set of test cases that
satisfy the following criteria
ā€“ Test cases that reduce the number of additional test cases that
must be designed to achieve reasonable testing (i.e minimize effort
and time)
ā€“ Test cases that tell us something about the presence or absence of
classes of errors
ā€¢ Black box testing methods
ā€“ Graph-Based Testing Methods
ā€“ Equivalence partitioning
ā€“ Boundary value analysis (BVA)
ā€“ Orthogonal Array Testing
White Box Testing
ā€¢ Structural testing approach focuses on
application internals. We can call it as
Program-based
ā€¢ Characteristics:
1. Implementation
2. Do modules meet functional and design specifications?
3. Do program structures meet functional and design
specifications?
4. How does the program work
White box testing
ā€¢ White-box testing of software is predicated on close examination
of procedural detail.
ā€¢ Logical paths through the software are tested by providing test
cases that exercise specific sets of conditions and/or loops.
ā€¢ The "status of the program" may be examined at various points.
ā€¢ White-box testing, sometimes called glass-box testing, is a test
case design method that uses the control structure of the
procedural design to derive test cases.
White box testing
Using this method, SE can derive test cases that
1. Guarantee that all independent paths within a module have
been exercised at least once
2. Exercise all logical decisions on their true and false sides,
3. Execute all loops at their boundaries and within their
operational bounds
4. Exercise internal data structures to ensure their validity.
White Box Testing
ā€¢ Type of Test during White Box Approach:
1. Unit Testing
2. Integration Testing
Validation and Verification
ā€¢ V & V
ā€¢ Validation
ā€“ Are we building the right product?
ā€¢ Verification
ā€“ Are we building the product right?
ā€“ Testing
ā€“ Inspection
ā€“ Static analysis
Verification and Validation
Testing is one element of a broader topic that is often referred to as verification
and validation (V&V).
ā€¢ Verification refers to the set of activities that ensure
that software correctly implements a specific
function.
ā€¢ Validation refers to a different set of activities that
ensure that the software that has been built is
traceable to customer requirements.
State another way:
ā€“ Verification: "Are we building the product right?"
ā€“ Validation: "Are we building the right product?ā€œ
The definition of V&V encompasses many of the activities that are similar to
software quality assurance (SQA).
Test Cases
ā€¢ Key elements of a test plan
ā€¢ May include scripts, data, checklists
ā€¢ May map to a Requirements Coverage Matrix
ā€¢ A traceability tool
Testing Strategies
Software Testing Strategy for conventional
software architecture
ā€¢ Software process from a procedural point
of view; a series of four steps that are
implemented sequentially.
Unit Test Considerations
Unit Test Procedures
Unit Test Environment
Regression Testing
ā€¢ Each time a new module is added as part of integration testing
ā€“ New data flow paths are established
ā€“ New I/O may occur
ā€“ New control logic is invoked
ā€¢ Due to these changes, may cause problems with functions that previously
worked flawlessly.
ā€¢ Regression testing is the re-execution of some subset of
tests that have already been conducted to ensure that
changes have not propagated unintended side effects.
ā€¢ Whenever software is corrected, some aspect of the software
configuration (the program, its documentation, or the data that support it)
is changed.
Smoke Testing
ā€¢ Smoke testing is an integration testing approach that is
commonly used when ā€œshrink wrappedā€ software products are
being developed.
ā€¢ It is designed as a pacing mechanism for time-critical projects,
allowing the software team to assess its project on a frequent
basis.
Smoke testing approach activities
ā€¢ Software components that have been translated into code are integrated into
a ā€œbuild.ā€
ā€“ A build includes all data files, libraries, reusable modules, and engineered
components that are required to implement one or more product
functions.
ā€¢ A series of tests is designed to expose errors that will keep the build from
properly performing its function.
ā€“ The intent should be to uncover ā€œshow stopperā€ errors that have the
highest likelihood of throwing the software project behind schedule.
ā€¢ The build is integrated with other builds and the entire product is smoke
ā€¢ Integration risk is minimized.
ā€“ Smoke tests are conducted daily, incompatibilities and other show-
stopper errors are uncovered early
ā€¢ The quality of the end-product is improved.
ā€“ Smoke testing is likely to uncover both functional errors and
architectural and component-level design defects. At the end, better
product quality will result.
ā€¢ Error diagnosis and correction are simplified.
ā€“ Software that has just been added to the build(s) is a probable cause of
a newly discovered error.
ā€¢ Progress is easier to assess.
ā€“ Frequent tests give both managers and practitioners a realistic
assessment of integration testing progress.
Smoke Testing benefits
Validation Testing
ā€¢ Validation testing succeeds when software functions in a
manner that can be reasonably expected by the customer.
ā€¢ Like all other testing steps, validation tries to uncover errors,
but the focus is at the requirements levelā€” on things that will
be immediately apparent to the end-user.
ā€¢ Reasonable expectations are defined in the Software
Requirements Specificationā€” a document that describes all
user-visible attributes of the software.
ā€¢ Validation testing comprises of
ā€“ Validation Test criteria
ā€“ Configuration review
ā€“ Alpha & Beta Testing
Alpha and Beta Testing
ā€¢ When custom software is built for one customer, a series of
acceptance tests are conducted to enable the customer to
validate all requirements.
ā€¢ Conducted by the end-user rather than software engineers,
an acceptance test can range from an informal "test drive" to
a planned and systematically executed series of tests.
ā€¢ Most software product builders use a process called alpha
and beta testing to uncover errors that only the end-user
seems able to find.
Alpha testing
ā€¢ The alpha test is conducted at the developer's
site by a customer.
ā€¢ The software is used in a natural setting with
the developer "looking over the shoulder" of
the user and recording errors and usage
problems.
ā€¢ Alpha tests are conducted in a controlled
environment.
Beta testing
ā€¢ The beta test is conducted at one or more customer
sites by the end-user of the software.
ā€¢ beta test is a "live" application of the software in an
environment that cannot be controlled by the
developer.
ā€¢ The customer records all problems (real or imagined)
that are encountered during beta testing and reports
these to the developer at regular intervals.
ā€¢ As a result of problems reported during beta tests,
software engineers make modifications and then
prepare for release of the software product to the
entire customer base.
System Testing
ā€¢ System testing is actually a series of different tests
whose primary purpose is to fully exercise the
computer-based system.
ā€¢ Although each test has a different purpose, all work to
verify that system elements have been properly
integrated and perform allocated functions.
ā€¢ Types of system tests are:
ā€“ Recovery Testing
ā€“ Security Testing
ā€“ Stress Testing
ā€“ Performance Testing
Recovery Testing
ā€¢ Recovery testing is a system test that forces the software to
fail in a variety of ways and verifies that recovery is properly
performed.
ā€¢ If recovery is automatic (performed by the system itself),
reinitialization, checkpointing mechanisms, data recovery,
and restart are evaluated for correctness.
ā€¢ If recovery requires human intervention, that is mean-time-
to-repair (MTTR) is evaluated to determine whether it is
within acceptable limits.
Security Testing
ā€¢ Security testing attempts to verify that protection mechanisms built
into a system will, in fact, protect it from improper break through .
ā€¢ During security testing, the tester plays the role(s) of the individual
who desires to break through the system.
ā€¢ Given enough time and resources, good security testing will
ultimately penetrate a system.
ā€¢ The role of the system designer is to make penetration cost more
than the value of the information that will be obtained.
ā€¢ The tester may attempt to acquire passwords through externally,
may attack the system with custom software designed to breakdown
any defenses that have been constructed; may browse through
insecure data; may purposely cause system errors.
Stress Testing
ā€¢ Stress testing executes a system in a manner that demands resources in
abnormal quantity, frequency, or volume.
For example,
1. special tests may be designed that generate ten interrupts per second
2. Input data rates may be increased by an order of magnitude to determine
how input functions will respond
3. test cases that require maximum memory or other resources are executed
4. test cases that may cause excessive hunting for disk-resident data are
created
ā€¢ A variation of stress testing is a technique called sensitivity testing
Performance Testing
ā€¢ Performance testing occurs throughout all steps in the testing process.
ā€¢ Even at the unit level, the performance of an individual module may
be assessed as white-box tests are conducted.
ā€¢ Performance tests are often coupled with stress testing and usually
require both hardware and software instrumentation
ā€¢ It is often necessary to measure resource utilization (e.g., processor
cycles).
THE ART OF DEBUGGING
ā€¢ Debugging is the process that results in the
removal of the error.
ā€¢ Although debugging can and should be an
orderly process, it is still very much an art.
ā€¢ Debugging is not testing but always occurs as
a consequence of testing.
Debugging Process

More Related Content

What's hot

Software Coding- Software Coding
Software Coding- Software CodingSoftware Coding- Software Coding
Software Coding- Software Coding
Nikhil Pandit
Ā 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Hassan A-j
Ā 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
mohamed khalaf alla mohamedain
Ā 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
Webtech Learning
Ā 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
Siva Ayyakutti
Ā 
Statistical Software Quality Assurance.pptx
Statistical Software Quality Assurance.pptxStatistical Software Quality Assurance.pptx
Statistical Software Quality Assurance.pptx
KarthigaiSelviS3
Ā 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
medsherb
Ā 
The Art Of Debugging
The Art Of DebuggingThe Art Of Debugging
The Art Of Debugging
svilen.ivanov
Ā 
Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns ppt
Aman Jain
Ā 
White box ppt
White box pptWhite box ppt
White box ppt
Chintakunta Hariteja
Ā 
Integration testing
Integration testingIntegration testing
Integration testing
queen jemila
Ā 
Test cases
Test casesTest cases
Test cases
Chandra Maddigapu
Ā 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
Saqib Raza
Ā 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
NancyBeaulah_R
Ā 
Coding standard
Coding standardCoding standard
Coding standard
FAROOK Samath
Ā 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
Oliver Cheng
Ā 
Unit 8
Unit 8Unit 8
Unit 8
anuragmbst
Ā 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
Dharmalingam Ganesan
Ā 
Cohesion and coupling
Cohesion and couplingCohesion and coupling
Cohesion and coupling
Aprajita (Abbey) Singh
Ā 
Software design
Software designSoftware design
Software design
Syed Muhammad Hammad-ud-Din
Ā 

What's hot (20)

Software Coding- Software Coding
Software Coding- Software CodingSoftware Coding- Software Coding
Software Coding- Software Coding
Ā 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Ā 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
Ā 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
Ā 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
Ā 
Statistical Software Quality Assurance.pptx
Statistical Software Quality Assurance.pptxStatistical Software Quality Assurance.pptx
Statistical Software Quality Assurance.pptx
Ā 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
Ā 
The Art Of Debugging
The Art Of DebuggingThe Art Of Debugging
The Art Of Debugging
Ā 
Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns ppt
Ā 
White box ppt
White box pptWhite box ppt
White box ppt
Ā 
Integration testing
Integration testingIntegration testing
Integration testing
Ā 
Test cases
Test casesTest cases
Test cases
Ā 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
Ā 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
Ā 
Coding standard
Coding standardCoding standard
Coding standard
Ā 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
Ā 
Unit 8
Unit 8Unit 8
Unit 8
Ā 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
Ā 
Cohesion and coupling
Cohesion and couplingCohesion and coupling
Cohesion and coupling
Ā 
Software design
Software designSoftware design
Software design
Ā 

Similar to Software coding &amp; testing, software engineering

Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineering
MansiganeshJawale
Ā 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysis
WBUTTUTORIALS
Ā 
White box testing
White box testingWhite box testing
White box testing
Neethu Tressa
Ā 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptx
MinsasWorld
Ā 
Software Engineering : Process Models
Software Engineering : Process ModelsSoftware Engineering : Process Models
Software Engineering : Process Models
Ajit Nayak
Ā 
Generic Software Process Models
Generic Software Process ModelsGeneric Software Process Models
Generic Software Process Models
Education Front
Ā 
Unit_5 and Unit 6.pptx
Unit_5 and Unit 6.pptxUnit_5 and Unit 6.pptx
Unit_5 and Unit 6.pptx
taxegap762
Ā 
Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening
Maven Logix
Ā 
Context Driven Automation Gtac 2008
Context Driven Automation Gtac 2008Context Driven Automation Gtac 2008
Context Driven Automation Gtac 2008
Pete Schneider
Ā 
Testing strategies part -1
Testing strategies part -1Testing strategies part -1
Testing strategies part -1
Divya Tiwari
Ā 
Coding - SDLC Model
Coding - SDLC ModelCoding - SDLC Model
6. oose testing
6. oose testing6. oose testing
6. oose testing
Ashenafi Workie
Ā 
Topic production code
Topic production codeTopic production code
Topic production code
Kavi Kumar
Ā 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
Len Bass
Ā 
Year13_SystemModelsmypresentationTechnology.ppt
Year13_SystemModelsmypresentationTechnology.pptYear13_SystemModelsmypresentationTechnology.ppt
Year13_SystemModelsmypresentationTechnology.ppt
AbhishekaVidyalankar
Ā 
Software testing strategies And its types
Software testing  strategies And its typesSoftware testing  strategies And its types
Software testing strategies And its types
MITULJAMANG
Ā 
Chapter6
Chapter6Chapter6
Chapter6
mkrishna69209
Ā 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
Raviteja Chowdary Adusumalli
Ā 
Software automation
Software automationSoftware automation
Software automation
gokilabrindha
Ā 
Software testing
Software testingSoftware testing
Software testing
Preeti Mishra
Ā 

Similar to Software coding &amp; testing, software engineering (20)

Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineering
Ā 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysis
Ā 
White box testing
White box testingWhite box testing
White box testing
Ā 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptx
Ā 
Software Engineering : Process Models
Software Engineering : Process ModelsSoftware Engineering : Process Models
Software Engineering : Process Models
Ā 
Generic Software Process Models
Generic Software Process ModelsGeneric Software Process Models
Generic Software Process Models
Ā 
Unit_5 and Unit 6.pptx
Unit_5 and Unit 6.pptxUnit_5 and Unit 6.pptx
Unit_5 and Unit 6.pptx
Ā 
Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening
Ā 
Context Driven Automation Gtac 2008
Context Driven Automation Gtac 2008Context Driven Automation Gtac 2008
Context Driven Automation Gtac 2008
Ā 
Testing strategies part -1
Testing strategies part -1Testing strategies part -1
Testing strategies part -1
Ā 
Coding - SDLC Model
Coding - SDLC ModelCoding - SDLC Model
Coding - SDLC Model
Ā 
6. oose testing
6. oose testing6. oose testing
6. oose testing
Ā 
Topic production code
Topic production codeTopic production code
Topic production code
Ā 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
Ā 
Year13_SystemModelsmypresentationTechnology.ppt
Year13_SystemModelsmypresentationTechnology.pptYear13_SystemModelsmypresentationTechnology.ppt
Year13_SystemModelsmypresentationTechnology.ppt
Ā 
Software testing strategies And its types
Software testing  strategies And its typesSoftware testing  strategies And its types
Software testing strategies And its types
Ā 
Chapter6
Chapter6Chapter6
Chapter6
Ā 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
Ā 
Software automation
Software automationSoftware automation
Software automation
Ā 
Software testing
Software testingSoftware testing
Software testing
Ā 

More from Rupesh Vaishnav

Software maintenance and configuration management, software engineering
Software maintenance and  configuration management, software engineeringSoftware maintenance and  configuration management, software engineering
Software maintenance and configuration management, software engineering
Rupesh Vaishnav
Ā 
Software as a service, software engineering
Software as a service, software engineeringSoftware as a service, software engineering
Software as a service, software engineering
Rupesh Vaishnav
Ā 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
Rupesh Vaishnav
Ā 
Quality assurance and management, software engineering
Quality assurance and management, software engineeringQuality assurance and management, software engineering
Quality assurance and management, software engineering
Rupesh Vaishnav
Ā 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineering
Rupesh Vaishnav
Ā 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
Rupesh Vaishnav
Ā 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
Rupesh Vaishnav
Ā 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
Rupesh Vaishnav
Ā 
Advanced topics in software engineering
Advanced topics in software engineeringAdvanced topics in software engineering
Advanced topics in software engineering
Rupesh Vaishnav
Ā 

More from Rupesh Vaishnav (9)

Software maintenance and configuration management, software engineering
Software maintenance and  configuration management, software engineeringSoftware maintenance and  configuration management, software engineering
Software maintenance and configuration management, software engineering
Ā 
Software as a service, software engineering
Software as a service, software engineeringSoftware as a service, software engineering
Software as a service, software engineering
Ā 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
Ā 
Quality assurance and management, software engineering
Quality assurance and management, software engineeringQuality assurance and management, software engineering
Quality assurance and management, software engineering
Ā 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineering
Ā 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
Ā 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
Ā 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
Ā 
Advanced topics in software engineering
Advanced topics in software engineeringAdvanced topics in software engineering
Advanced topics in software engineering
Ā 

Recently uploaded

Kandivali Call Girls ā˜‘ +91-9967584737 ā˜‘ Available Hot Girls Aunty Book Now
Kandivali Call Girls ā˜‘ +91-9967584737 ā˜‘ Available Hot Girls Aunty Book NowKandivali Call Girls ā˜‘ +91-9967584737 ā˜‘ Available Hot Girls Aunty Book Now
Kandivali Call Girls ā˜‘ +91-9967584737 ā˜‘ Available Hot Girls Aunty Book Now
SONALI Batra $A12
Ā 
šŸ”„Young College Call Girls Chandigarh šŸ’ÆCall Us šŸ” 7737669865 šŸ”šŸ’ƒIndependent Chan...
šŸ”„Young College Call Girls Chandigarh šŸ’ÆCall Us šŸ” 7737669865 šŸ”šŸ’ƒIndependent Chan...šŸ”„Young College Call Girls Chandigarh šŸ’ÆCall Us šŸ” 7737669865 šŸ”šŸ’ƒIndependent Chan...
šŸ”„Young College Call Girls Chandigarh šŸ’ÆCall Us šŸ” 7737669865 šŸ”šŸ’ƒIndependent Chan...
sonamrawat5631
Ā 
BBOC407 Module 1.pptx Biology for Engineers
BBOC407  Module 1.pptx Biology for EngineersBBOC407  Module 1.pptx Biology for Engineers
BBOC407 Module 1.pptx Biology for Engineers
sathishkumars808912
Ā 
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASICINTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
GOKULKANNANMMECLECTC
Ā 
Literature review for prompt engineering of ChatGPT.pptx
Literature review for prompt engineering of ChatGPT.pptxLiterature review for prompt engineering of ChatGPT.pptx
Literature review for prompt engineering of ChatGPT.pptx
LokerXu2
Ā 
šŸ”„Independent Call Girls In Pune šŸ’ÆCall Us šŸ” 7014168258 šŸ”šŸ’ƒIndependent Pune Esco...
šŸ”„Independent Call Girls In Pune šŸ’ÆCall Us šŸ” 7014168258 šŸ”šŸ’ƒIndependent Pune Esco...šŸ”„Independent Call Girls In Pune šŸ’ÆCall Us šŸ” 7014168258 šŸ”šŸ’ƒIndependent Pune Esco...
šŸ”„Independent Call Girls In Pune šŸ’ÆCall Us šŸ” 7014168258 šŸ”šŸ’ƒIndependent Pune Esco...
AK47
Ā 
paper relate Chozhavendhan et al. 2020.pdf
paper relate Chozhavendhan et al. 2020.pdfpaper relate Chozhavendhan et al. 2020.pdf
paper relate Chozhavendhan et al. 2020.pdf
ShurooqTaib
Ā 
FUNDAMENTALS OF MECHANICAL ENGINEERING.pdf
FUNDAMENTALS OF MECHANICAL ENGINEERING.pdfFUNDAMENTALS OF MECHANICAL ENGINEERING.pdf
FUNDAMENTALS OF MECHANICAL ENGINEERING.pdf
EMERSON EDUARDO RODRIGUES
Ā 
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdfAsymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
felixwold
Ā 
Hot Call Girls In Bangalore āœ” 9079923931 āœ” Hi I Am Divya Vip Call Girl Servic...
Hot Call Girls In Bangalore āœ” 9079923931 āœ” Hi I Am Divya Vip Call Girl Servic...Hot Call Girls In Bangalore āœ” 9079923931 āœ” Hi I Am Divya Vip Call Girl Servic...
Hot Call Girls In Bangalore āœ” 9079923931 āœ” Hi I Am Divya Vip Call Girl Servic...
Banerescorts
Ā 
An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...
An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...
An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...
DharmaBanothu
Ā 
Microsoft Azure AD architecture and features
Microsoft Azure AD architecture and featuresMicrosoft Azure AD architecture and features
Microsoft Azure AD architecture and features
ssuser381403
Ā 
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls ChennaiCall Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
paraasingh12 #V08
Ā 
ā£Unsatisfied Bhabhi Call Girls Surat šŸ’ÆCall Us šŸ” 7014168258 šŸ”šŸ’ƒIndependent Sura...
ā£Unsatisfied Bhabhi Call Girls Surat šŸ’ÆCall Us šŸ” 7014168258 šŸ”šŸ’ƒIndependent Sura...ā£Unsatisfied Bhabhi Call Girls Surat šŸ’ÆCall Us šŸ” 7014168258 šŸ”šŸ’ƒIndependent Sura...
ā£Unsatisfied Bhabhi Call Girls Surat šŸ’ÆCall Us šŸ” 7014168258 šŸ”šŸ’ƒIndependent Sura...
hotchicksescort
Ā 
Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine, Issue 49 / Spring 2024Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine
Ā 
Call Girls Goa (india) ā˜Žļø +91-7426014248 Goa Call Girl
Call Girls Goa (india) ā˜Žļø +91-7426014248 Goa Call GirlCall Girls Goa (india) ā˜Žļø +91-7426014248 Goa Call Girl
Call Girls Goa (india) ā˜Žļø +91-7426014248 Goa Call Girl
sapna sharmap11
Ā 
Basic principle and types Static Relays ppt
Basic principle and  types  Static Relays pptBasic principle and  types  Static Relays ppt
Basic principle and types Static Relays ppt
Sri Ramakrishna Institute of Technology
Ā 
Call Girls Chandigarh šŸ”„ 7014168258 šŸ”„ Real Fun With Sexual Girl Available 24/7...
Call Girls Chandigarh šŸ”„ 7014168258 šŸ”„ Real Fun With Sexual Girl Available 24/7...Call Girls Chandigarh šŸ”„ 7014168258 šŸ”„ Real Fun With Sexual Girl Available 24/7...
Call Girls Chandigarh šŸ”„ 7014168258 šŸ”„ Real Fun With Sexual Girl Available 24/7...
shourabjaat424
Ā 
Particle Swarm Optimizationā€“Long Short-Term Memory based Channel Estimation w...
Particle Swarm Optimizationā€“Long Short-Term Memory based Channel Estimation w...Particle Swarm Optimizationā€“Long Short-Term Memory based Channel Estimation w...
Particle Swarm Optimizationā€“Long Short-Term Memory based Channel Estimation w...
IJCNCJournal
Ā 
MODULE 5 BIOLOGY FOR ENGINEERS TRENDS IN BIO ENGINEERING.pptx
MODULE 5 BIOLOGY FOR ENGINEERS TRENDS IN BIO ENGINEERING.pptxMODULE 5 BIOLOGY FOR ENGINEERS TRENDS IN BIO ENGINEERING.pptx
MODULE 5 BIOLOGY FOR ENGINEERS TRENDS IN BIO ENGINEERING.pptx
NaveenNaveen726446
Ā 

Recently uploaded (20)

Kandivali Call Girls ā˜‘ +91-9967584737 ā˜‘ Available Hot Girls Aunty Book Now
Kandivali Call Girls ā˜‘ +91-9967584737 ā˜‘ Available Hot Girls Aunty Book NowKandivali Call Girls ā˜‘ +91-9967584737 ā˜‘ Available Hot Girls Aunty Book Now
Kandivali Call Girls ā˜‘ +91-9967584737 ā˜‘ Available Hot Girls Aunty Book Now
Ā 
šŸ”„Young College Call Girls Chandigarh šŸ’ÆCall Us šŸ” 7737669865 šŸ”šŸ’ƒIndependent Chan...
šŸ”„Young College Call Girls Chandigarh šŸ’ÆCall Us šŸ” 7737669865 šŸ”šŸ’ƒIndependent Chan...šŸ”„Young College Call Girls Chandigarh šŸ’ÆCall Us šŸ” 7737669865 šŸ”šŸ’ƒIndependent Chan...
šŸ”„Young College Call Girls Chandigarh šŸ’ÆCall Us šŸ” 7737669865 šŸ”šŸ’ƒIndependent Chan...
Ā 
BBOC407 Module 1.pptx Biology for Engineers
BBOC407  Module 1.pptx Biology for EngineersBBOC407  Module 1.pptx Biology for Engineers
BBOC407 Module 1.pptx Biology for Engineers
Ā 
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASICINTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
INTRODUCTION TO ARTIFICIAL INTELLIGENCE BASIC
Ā 
Literature review for prompt engineering of ChatGPT.pptx
Literature review for prompt engineering of ChatGPT.pptxLiterature review for prompt engineering of ChatGPT.pptx
Literature review for prompt engineering of ChatGPT.pptx
Ā 
šŸ”„Independent Call Girls In Pune šŸ’ÆCall Us šŸ” 7014168258 šŸ”šŸ’ƒIndependent Pune Esco...
šŸ”„Independent Call Girls In Pune šŸ’ÆCall Us šŸ” 7014168258 šŸ”šŸ’ƒIndependent Pune Esco...šŸ”„Independent Call Girls In Pune šŸ’ÆCall Us šŸ” 7014168258 šŸ”šŸ’ƒIndependent Pune Esco...
šŸ”„Independent Call Girls In Pune šŸ’ÆCall Us šŸ” 7014168258 šŸ”šŸ’ƒIndependent Pune Esco...
Ā 
paper relate Chozhavendhan et al. 2020.pdf
paper relate Chozhavendhan et al. 2020.pdfpaper relate Chozhavendhan et al. 2020.pdf
paper relate Chozhavendhan et al. 2020.pdf
Ā 
FUNDAMENTALS OF MECHANICAL ENGINEERING.pdf
FUNDAMENTALS OF MECHANICAL ENGINEERING.pdfFUNDAMENTALS OF MECHANICAL ENGINEERING.pdf
FUNDAMENTALS OF MECHANICAL ENGINEERING.pdf
Ā 
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdfAsymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
Asymmetrical Repulsion Magnet Motor Ratio 6-7.pdf
Ā 
Hot Call Girls In Bangalore āœ” 9079923931 āœ” Hi I Am Divya Vip Call Girl Servic...
Hot Call Girls In Bangalore āœ” 9079923931 āœ” Hi I Am Divya Vip Call Girl Servic...Hot Call Girls In Bangalore āœ” 9079923931 āœ” Hi I Am Divya Vip Call Girl Servic...
Hot Call Girls In Bangalore āœ” 9079923931 āœ” Hi I Am Divya Vip Call Girl Servic...
Ā 
An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...
An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...
An In-Depth Exploration of Natural Language Processing: Evolution, Applicatio...
Ā 
Microsoft Azure AD architecture and features
Microsoft Azure AD architecture and featuresMicrosoft Azure AD architecture and features
Microsoft Azure AD architecture and features
Ā 
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls ChennaiCall Girls Chennai +91-8824825030 Vip Call Girls Chennai
Call Girls Chennai +91-8824825030 Vip Call Girls Chennai
Ā 
ā£Unsatisfied Bhabhi Call Girls Surat šŸ’ÆCall Us šŸ” 7014168258 šŸ”šŸ’ƒIndependent Sura...
ā£Unsatisfied Bhabhi Call Girls Surat šŸ’ÆCall Us šŸ” 7014168258 šŸ”šŸ’ƒIndependent Sura...ā£Unsatisfied Bhabhi Call Girls Surat šŸ’ÆCall Us šŸ” 7014168258 šŸ”šŸ’ƒIndependent Sura...
ā£Unsatisfied Bhabhi Call Girls Surat šŸ’ÆCall Us šŸ” 7014168258 šŸ”šŸ’ƒIndependent Sura...
Ā 
Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine, Issue 49 / Spring 2024Better Builder Magazine, Issue 49 / Spring 2024
Better Builder Magazine, Issue 49 / Spring 2024
Ā 
Call Girls Goa (india) ā˜Žļø +91-7426014248 Goa Call Girl
Call Girls Goa (india) ā˜Žļø +91-7426014248 Goa Call GirlCall Girls Goa (india) ā˜Žļø +91-7426014248 Goa Call Girl
Call Girls Goa (india) ā˜Žļø +91-7426014248 Goa Call Girl
Ā 
Basic principle and types Static Relays ppt
Basic principle and  types  Static Relays pptBasic principle and  types  Static Relays ppt
Basic principle and types Static Relays ppt
Ā 
Call Girls Chandigarh šŸ”„ 7014168258 šŸ”„ Real Fun With Sexual Girl Available 24/7...
Call Girls Chandigarh šŸ”„ 7014168258 šŸ”„ Real Fun With Sexual Girl Available 24/7...Call Girls Chandigarh šŸ”„ 7014168258 šŸ”„ Real Fun With Sexual Girl Available 24/7...
Call Girls Chandigarh šŸ”„ 7014168258 šŸ”„ Real Fun With Sexual Girl Available 24/7...
Ā 
Particle Swarm Optimizationā€“Long Short-Term Memory based Channel Estimation w...
Particle Swarm Optimizationā€“Long Short-Term Memory based Channel Estimation w...Particle Swarm Optimizationā€“Long Short-Term Memory based Channel Estimation w...
Particle Swarm Optimizationā€“Long Short-Term Memory based Channel Estimation w...
Ā 
MODULE 5 BIOLOGY FOR ENGINEERS TRENDS IN BIO ENGINEERING.pptx
MODULE 5 BIOLOGY FOR ENGINEERS TRENDS IN BIO ENGINEERING.pptxMODULE 5 BIOLOGY FOR ENGINEERS TRENDS IN BIO ENGINEERING.pptx
MODULE 5 BIOLOGY FOR ENGINEERS TRENDS IN BIO ENGINEERING.pptx
Ā 

Software coding &amp; testing, software engineering

  • 2. Coding Phase ā€¢ Coding is undertaken once design phase is complete. ā€¢ During coding phase: ā€“ every module identified in the design document is coded and unit tested. ā€¢ Unit testing : ā€“ testing of different modules of a system in isolation.
  • 3. Unit Testing ā€“Why test each module in isolation first? ā€“then integrate the modules and again test the set of modules? ā€“why not just test the integrated set of modules once thoroughly?
  • 4. Unit Testing ļ® It is a good idea to test modules in isolation before they are integrated: ļ® it makes debugging easier.
  • 5. ļ® If an error is detected when several modules are being tested together, ļ® it would be difficult to determine which module has the error. ļ® Another reason: ļ® the modules with which this module needs to interface may not be ready. Unit Testing
  • 6. Integration Testing ā€¢ After all modules of a system have been coded and unit tested: ā€“integration of modules is done ā€¢ according to an integration plan.
  • 7. Integration Testing ā€¢ The full product takes shape: ā€“ only after all the modules have been integrated. ā€¢ Modules are integrated together according to an integration plan: ā€“ involves integration of the modules through a number of steps.
  • 8. Integration Testing ā€¢ During each integration step, ā€“a number of modules are added to the partially integrated system ā€¢ and the system is tested. ā€¢ Once all modules have been integrated and tested, ā€“system testing can start.
  • 9. System Testing ā€¢ During system testing: ā€“the fully integrated system is tested against the requirements recorded in the SRS document.
  • 10. Coding ā€¢ The input to the coding phase is the design document. ā€¢ During coding phase: ā€“modules identified in the design document are coded according to the module specifications.
  • 11. Coding ā€¢ At the end of the design phase we have: ā€“ module structure (e.g. structure chart) of the system ā€“ module specifications: ā€¢ data structures and algorithms for each module. ā€¢ Objective of coding phase: ā€“ transform design into code ā€“ unit test the code.
  • 12. Coding Standards ā€¢ Good software development organizations require their programmers to: ā€“adhere to some standard style of coding ā€“called coding standards.
  • 13. Coding Standards ā€¢ Many software development organizations: ā€“formulate their own coding standards that suits them most, ā€“require their engineers to follow these standards rigorously.
  • 14. Coding Standards ā€¢ Advantage of adhering to a standard style of coding: ā€“it gives a uniform appearance to the codes written by different engineers, ā€“it enhances code understanding, ā€“encourages good programming practices.
  • 15. Coding Standards ā€¢ A coding standard ā€“sets out standard ways of doing several things: ā€¢ the way variables are named, ā€¢ code is laid out, ā€¢ maximum number of source lines allowed per function, etc.
  • 16. Coding guidelines ā€¢ Provide general suggestions regarding coding style to be followed: ā€“leave actual implementation of the guidelines: ā€¢ to the discretion of the individual engineers.
  • 17. Code inspection and code walk throughs ā€¢ After a module has been coded, ā€“code inspection and code walk through are carried out ā€“ensures that coding standards are followed ā€“helps detect as many errors as possible before testing.
  • 18. Code inspection and code walk throughs ā€¢ Detect as many errors as possible during inspection and walkthrough: ā€“detected errors require less effort for correction ā€¢ much higher effort needed if errors were to be detected during integration or system testing.
  • 19. Representative Coding Standards ā€¢ Rules for limiting the use of globals: ā€“ what types of data can be declared global and what can not. ā€¢ Naming conventions for ā€“ global variables, ā€“ local variables, and ā€“ constant identifiers.
  • 20. Representative Coding Standards ā€¢ Header data: ā€“ Name of the module, ā€“ date on which the module was created, ā€“ author's name, ā€“ modification history, ā€“ synopsis of the module, ā€“ different functions supported, along with their input/output parameters, ā€“ global variables accessed/modified by the module.
  • 21. Representative Coding Standards ā€¢ Error return conventions and exception handling mechanisms. ā€“ the way error and exception conditions are handled should be standard within an organization. ā€“ For example, when different functions encounter error conditions ā€¢ should either return a 0 or 1 consistently.
  • 22. Representative Coding Guidelines ā€¢ Do not use too clever and difficult to understand coding style. ā€“ Code should be easy to understand. ā€¢ Many inexperienced engineers actually take pride: ā€“ in writing cryptic and incomprehensible code.
  • 23. Representative Coding Guidelines ā€¢ Clever coding can unclear meaning of the code: ā€“ hampers understanding. ā€“makes later maintenance difficult. ā€¢ Avoid obscure side effects.
  • 24. Representative Coding Guidelines ā€¢ The side effects of a function call include: ā€“ modification of parameters passed by reference, ā€“ modification of global variables, ā€“ I/O operations. ā€¢ An obscure side effect: ā€“ one that is not obvious from a casual examination of the code.
  • 25. Representative Coding Guidelines ā€¢ Obscure side effects make it difficult to understand a piece of code. ā€¢ For example, ā€“ if a global variable is changed obscurely in a called module, ā€“ it becomes difficult for anybody trying to understand the code.
  • 26. Representative Coding Guidelines ā€¢ Do not use an identifier (variable name) for multiple purposes. ā€“ Programmers often use the same identifier for multiple purposes. ā€“ For example, some programmers use a temporary loop variable ā€¢ also for storing the final result.
  • 27. Example use of a variable for multiple purposes ā€¢ for(i=1;i<100;i++) {ā€¦..} i=2*p*q; return(i);
  • 28. Use of a variable for multiple purposes ā€¢ The justification given by programmers for such use: ā€“ memory efficiency: ā€“ e.g. three variables use up three memory locations, ā€“ whereas the same variable used in three different ways uses just one memory location.
  • 29. Use of a variable for multiple purposes ā€¢ There are several things wrong with this approach: ā€“ hence should be avoided. ā€¢ Each variable should be given a name indicating its purpose: ā€“ This is not possible if an identifier is used for multiple purposes.
  • 30. Use of a variable for multiple purposes ā€¢ Leads to confusion and annoyance ā€“for anybody trying to understand the code. ā€“Also makes future maintenance difficult.
  • 31. Representative Coding Guidelines ā€¢ Code should be well-documented. ā€¢ Rules of thumb: ā€“ on the average there must be at least one comment line ā€¢ for every three source lines. ā€“ The length of any function should not exceed 10 source lines.
  • 32. Representative Coding Guidelines ā€¢ Lengthy functions: ā€“usually very difficult to understand ā€“probably do too many different things.
  • 33. Representative Coding Guidelines ā€¢ Do not use goto statements. ā€¢ Use of goto statements: ā€“make a program unstructured ā€“make it very difficult to understand.
  • 34. Code Walk Through ā€¢ An informal code analysis technique. ā€“ undertaken after the coding of a module is complete. ā€¢ A few members of the development team select some test cases: ā€“ simulate execution of the code by hand using these test cases.
  • 35. Code Inspection ā€¢ For instance, consider: ā€“ classical error of writing a procedure that modifies a formal parameter ā€“ while the calling routine calls the procedure with a constant actual parameter. ā€¢ It is more likely that such an error will be discovered: ā€“ by looking for this kind of mistakes in the code, ā€“ rather than by simply hand simulating execution of the procedure.
  • 36. Code Inspection ā€¢ Good software development companies: ā€“ collect statistics of errors committed by their engineers ā€“ identify the types of errors most frequently committed. ā€¢ A list of common errors: ā€“ can be used during code inspection to look out for possible errors.
  • 37. Commonly made errors ā€¢ Use of uninitialized variables. ā€¢ Nonterminating loops. ā€¢ Array indices out of bounds. ā€¢ Incompatible assignments. ā€¢ Improper storage allocation and deallocation. ā€¢ Actual and formal parameter mismatch in procedure calls. ā€¢ Jumps into loops.
  • 38. Code Inspection ā€¢ Use of incorrect logical operators ā€“ or incorrect precedence among operators. ā€¢ Improper modification of loop variables. ā€¢ Comparison of equality of floating point values, etc. ā€¢ Also during code inspection, ā€“ adherence to coding standards is checked.
  • 40. Psychology of Testing ā€¢ Test cases are designed to detect errors but does not guarantee that all possible error get detected. ā€¢ There is no standard method for selecting test cases. ā€¢ Selection of test cases is an art. ā€¢ One of the reason why organization is not selecting developer as a tester is depend upon human psychology.
  • 41. Project Testing Flow ā€¢ Unit Testing ā€¢ Integration Testing ā€¢ System Testing ā€¢ User Acceptance Testing
  • 43. Testing Process ā€¢ Testing is carried out at the till later stage of s/w development. ā€¢ Testing is also necessary even after release of product. ā€¢ Therefore testing is considered as the COSTLIEST activity in s/w devp. & should be done efficiently.
  • 44. Testing Principles ā€¢ All tests should be traceable to customer requirements. ā€¢ Tests should be planned long before testing begins. ā€¢ The Pareto principle applies to software testing. ā€¢ Testing should begin ā€œin the smallā€ and progress toward testing ā€œin the large.ā€ ā€¢ Complete testing is not possible. ā€¢ To be most effective, testing should be conducted by an independent third party.
  • 45. Software Testability ā€¢ S/w testability is simply how easily system or program or product can be tested. ā€¢ Testing must exhibit set of characteristics that achieve the goal of finding errors with a minimum of effort. Characteristics of s/w Testability: ā€¢ Operability - ā€œThe better it works, the more efficiently it can be testedā€ ā€“ Relatively few bugs will block the execution of tests. ā€“ Allowing testing progress without fits and starts.
  • 46. ā€¢ Observability - "What you see is what you test.ā€œ ā€“ Distinct output is generated for each input. ā€“ System states and variables are visible or queriable during execution. ā€“ Incorrect output is easily identified. ā€“ Internal errors are automatically detected & reported. ā€“ Source code is accessible. ā€¢ Controllability - "The better we can control the software, the more the testing can be automated and optimized.ā€œ ā€“ Software and hardware states and variables can be controlled directly by the test engineer. ā€“ Tests can be conveniently specified, automated, and reproduced. ā€¢ Decomposability - By controlling the scope of testing, we can more quickly isolate problems and perform smarter retesting. ā€“ Independent modules can be tested independently.
  • 47. ā€¢ Simplicity - The less there is to test, the more quickly we can test it." ā€“ Functional simplicity (e.g., the feature set is the minimum necessary to meet requirements). ā€“ Structural simplicity (e.g., architecture is modularized to limit the propagation of faults). ā€“ Code simplicity (e.g., a coding standard is adopted for ease of inspection and maintenance). ā€¢ Stability - "The fewer the changes, the fewer the disruptions to testing." ā€“ Changes to the software are infrequent. ā€“ Changes to the software are controlled. ā€“ Changes to the software do not invalidate existing tests. ā€¢ Understandability ā€“ "The more information we have, the smarter we will test." ā€“ Dependencies between internal, external, and shared components are well understood. ā€“ Changes to the design are communicated to testers. ā€“ Technical documentation is instantly accessible, well organized, specific and detailed, and accurate.
  • 48. Test Case Design Specifies ā€¢ how to carry out testing process? ā€¢ Which unit need to be tested? ā€¢ What are the tools that can used for testing?
  • 49. Test Case Specification Test Case ID Test Case Name Test Case Description Test Steps Status (pass/fail) Test Priority Defect Severity
  • 50. Taxonomy of Testing ā€¢ There are two general approaches of testing 1.Black Box Testing 2.White Box Testing
  • 51. Black-box testing ā€¢ Functional testing approach focuses on application externals. ā€¢ We can call it as Requirements-based or Specifications-based. ā€¢ Characteristics: Functionality Requirements, use, standards Correctness Does system meet business requirements
  • 52.
  • 53. Black-box testing ā€¢ Type of Test during Black Box Approach: 1. System Testing 2. Acceptance Testing
  • 54. Black box testing ā€¢ Also called behavioral testing, focuses on the functional requirements of the software. ā€¢ It enables the software engineer to derive sets of input conditions that will fully exercise all functional requirements for a program. ā€¢ Black-box testing is not an alternative to white-box techniques but it is complementary approach. ā€¢ Black-box testing attempts to find errors in the following categories: ā€“ Incorrect or missing functions, ā€“ Interface errors, ā€“ Errors in data structures or external data base access. ā€“ Behavior or performance errors, ā€“ Initialization and termination errors.
  • 55. ā€¢ Black-box testing purposely ignored control structure, attention is focused on the information domain. Tests are designed to answer the following questions: ā€“ How is functional validity tested? ā€“ How is system behavior and performance tested? ā€“ What classes of input will make good test cases? ā€¢ By applying black-box techniques, we derive a set of test cases that satisfy the following criteria ā€“ Test cases that reduce the number of additional test cases that must be designed to achieve reasonable testing (i.e minimize effort and time) ā€“ Test cases that tell us something about the presence or absence of classes of errors ā€¢ Black box testing methods ā€“ Graph-Based Testing Methods ā€“ Equivalence partitioning ā€“ Boundary value analysis (BVA) ā€“ Orthogonal Array Testing
  • 56. White Box Testing ā€¢ Structural testing approach focuses on application internals. We can call it as Program-based ā€¢ Characteristics: 1. Implementation 2. Do modules meet functional and design specifications? 3. Do program structures meet functional and design specifications? 4. How does the program work
  • 57. White box testing ā€¢ White-box testing of software is predicated on close examination of procedural detail. ā€¢ Logical paths through the software are tested by providing test cases that exercise specific sets of conditions and/or loops. ā€¢ The "status of the program" may be examined at various points. ā€¢ White-box testing, sometimes called glass-box testing, is a test case design method that uses the control structure of the procedural design to derive test cases.
  • 58. White box testing Using this method, SE can derive test cases that 1. Guarantee that all independent paths within a module have been exercised at least once 2. Exercise all logical decisions on their true and false sides, 3. Execute all loops at their boundaries and within their operational bounds 4. Exercise internal data structures to ensure their validity.
  • 59. White Box Testing ā€¢ Type of Test during White Box Approach: 1. Unit Testing 2. Integration Testing
  • 60.
  • 61. Validation and Verification ā€¢ V & V ā€¢ Validation ā€“ Are we building the right product? ā€¢ Verification ā€“ Are we building the product right? ā€“ Testing ā€“ Inspection ā€“ Static analysis
  • 62. Verification and Validation Testing is one element of a broader topic that is often referred to as verification and validation (V&V). ā€¢ Verification refers to the set of activities that ensure that software correctly implements a specific function. ā€¢ Validation refers to a different set of activities that ensure that the software that has been built is traceable to customer requirements. State another way: ā€“ Verification: "Are we building the product right?" ā€“ Validation: "Are we building the right product?ā€œ The definition of V&V encompasses many of the activities that are similar to software quality assurance (SQA).
  • 63. Test Cases ā€¢ Key elements of a test plan ā€¢ May include scripts, data, checklists ā€¢ May map to a Requirements Coverage Matrix ā€¢ A traceability tool
  • 65. Software Testing Strategy for conventional software architecture
  • 66. ā€¢ Software process from a procedural point of view; a series of four steps that are implemented sequentially.
  • 68. Unit Test Procedures Unit Test Environment
  • 69. Regression Testing ā€¢ Each time a new module is added as part of integration testing ā€“ New data flow paths are established ā€“ New I/O may occur ā€“ New control logic is invoked ā€¢ Due to these changes, may cause problems with functions that previously worked flawlessly. ā€¢ Regression testing is the re-execution of some subset of tests that have already been conducted to ensure that changes have not propagated unintended side effects. ā€¢ Whenever software is corrected, some aspect of the software configuration (the program, its documentation, or the data that support it) is changed.
  • 70. Smoke Testing ā€¢ Smoke testing is an integration testing approach that is commonly used when ā€œshrink wrappedā€ software products are being developed. ā€¢ It is designed as a pacing mechanism for time-critical projects, allowing the software team to assess its project on a frequent basis. Smoke testing approach activities ā€¢ Software components that have been translated into code are integrated into a ā€œbuild.ā€ ā€“ A build includes all data files, libraries, reusable modules, and engineered components that are required to implement one or more product functions. ā€¢ A series of tests is designed to expose errors that will keep the build from properly performing its function. ā€“ The intent should be to uncover ā€œshow stopperā€ errors that have the highest likelihood of throwing the software project behind schedule. ā€¢ The build is integrated with other builds and the entire product is smoke
  • 71. ā€¢ Integration risk is minimized. ā€“ Smoke tests are conducted daily, incompatibilities and other show- stopper errors are uncovered early ā€¢ The quality of the end-product is improved. ā€“ Smoke testing is likely to uncover both functional errors and architectural and component-level design defects. At the end, better product quality will result. ā€¢ Error diagnosis and correction are simplified. ā€“ Software that has just been added to the build(s) is a probable cause of a newly discovered error. ā€¢ Progress is easier to assess. ā€“ Frequent tests give both managers and practitioners a realistic assessment of integration testing progress. Smoke Testing benefits
  • 72. Validation Testing ā€¢ Validation testing succeeds when software functions in a manner that can be reasonably expected by the customer. ā€¢ Like all other testing steps, validation tries to uncover errors, but the focus is at the requirements levelā€” on things that will be immediately apparent to the end-user. ā€¢ Reasonable expectations are defined in the Software Requirements Specificationā€” a document that describes all user-visible attributes of the software. ā€¢ Validation testing comprises of ā€“ Validation Test criteria ā€“ Configuration review ā€“ Alpha & Beta Testing
  • 73. Alpha and Beta Testing ā€¢ When custom software is built for one customer, a series of acceptance tests are conducted to enable the customer to validate all requirements. ā€¢ Conducted by the end-user rather than software engineers, an acceptance test can range from an informal "test drive" to a planned and systematically executed series of tests. ā€¢ Most software product builders use a process called alpha and beta testing to uncover errors that only the end-user seems able to find.
  • 74. Alpha testing ā€¢ The alpha test is conducted at the developer's site by a customer. ā€¢ The software is used in a natural setting with the developer "looking over the shoulder" of the user and recording errors and usage problems. ā€¢ Alpha tests are conducted in a controlled environment.
  • 75. Beta testing ā€¢ The beta test is conducted at one or more customer sites by the end-user of the software. ā€¢ beta test is a "live" application of the software in an environment that cannot be controlled by the developer. ā€¢ The customer records all problems (real or imagined) that are encountered during beta testing and reports these to the developer at regular intervals. ā€¢ As a result of problems reported during beta tests, software engineers make modifications and then prepare for release of the software product to the entire customer base.
  • 76. System Testing ā€¢ System testing is actually a series of different tests whose primary purpose is to fully exercise the computer-based system. ā€¢ Although each test has a different purpose, all work to verify that system elements have been properly integrated and perform allocated functions. ā€¢ Types of system tests are: ā€“ Recovery Testing ā€“ Security Testing ā€“ Stress Testing ā€“ Performance Testing
  • 77. Recovery Testing ā€¢ Recovery testing is a system test that forces the software to fail in a variety of ways and verifies that recovery is properly performed. ā€¢ If recovery is automatic (performed by the system itself), reinitialization, checkpointing mechanisms, data recovery, and restart are evaluated for correctness. ā€¢ If recovery requires human intervention, that is mean-time- to-repair (MTTR) is evaluated to determine whether it is within acceptable limits.
  • 78. Security Testing ā€¢ Security testing attempts to verify that protection mechanisms built into a system will, in fact, protect it from improper break through . ā€¢ During security testing, the tester plays the role(s) of the individual who desires to break through the system. ā€¢ Given enough time and resources, good security testing will ultimately penetrate a system. ā€¢ The role of the system designer is to make penetration cost more than the value of the information that will be obtained. ā€¢ The tester may attempt to acquire passwords through externally, may attack the system with custom software designed to breakdown any defenses that have been constructed; may browse through insecure data; may purposely cause system errors.
  • 79. Stress Testing ā€¢ Stress testing executes a system in a manner that demands resources in abnormal quantity, frequency, or volume. For example, 1. special tests may be designed that generate ten interrupts per second 2. Input data rates may be increased by an order of magnitude to determine how input functions will respond 3. test cases that require maximum memory or other resources are executed 4. test cases that may cause excessive hunting for disk-resident data are created ā€¢ A variation of stress testing is a technique called sensitivity testing
  • 80. Performance Testing ā€¢ Performance testing occurs throughout all steps in the testing process. ā€¢ Even at the unit level, the performance of an individual module may be assessed as white-box tests are conducted. ā€¢ Performance tests are often coupled with stress testing and usually require both hardware and software instrumentation ā€¢ It is often necessary to measure resource utilization (e.g., processor cycles).
  • 81. THE ART OF DEBUGGING ā€¢ Debugging is the process that results in the removal of the error. ā€¢ Although debugging can and should be an orderly process, it is still very much an art. ā€¢ Debugging is not testing but always occurs as a consequence of testing.

Editor's Notes

  1. sometimes called builds or cluster
  ēæ»čƑļ¼š