KEMBAR78
Software Testing Sefa | PDF | Software Testing | Programming
0% found this document useful (0 votes)
103 views3 pages

Software Testing Sefa

Software testing involves executing a system's components to evaluate its properties and identify errors. The software testing life cycle (STLC) consists of phases like requirements analysis, test planning, test case development, test execution, and reporting. There are different types of testing like static testing which checks code without executing it, and dynamic testing which executes the code to validate it works as intended. Black box testing examines functionality without knowledge of internal structure or coding, while white box testing uses programming knowledge to test internal structures.

Uploaded by

shahalameenu2003
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
103 views3 pages

Software Testing Sefa

Software testing involves executing a system's components to evaluate its properties and identify errors. The software testing life cycle (STLC) consists of phases like requirements analysis, test planning, test case development, test execution, and reporting. There are different types of testing like static testing which checks code without executing it, and dynamic testing which executes the code to validate it works as intended. Black box testing examines functionality without knowledge of internal structure or coding, while white box testing uses programming knowledge to test internal structures.

Uploaded by

shahalameenu2003
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Software Testing is a method to check whether the actual What is STLC?

is STLC?:STLC stands for the Software testing life document is available in the product. • To check if what is whether the application or software is working fine during
software product matches expected requirements and to cycle. It refers to all these activities performed during the there in the product is explained correctly in the document and after the installation of the application without any
ensure that software product is Defect free. It involves testing of a software product. Basically, it provides a 9. Domain testing • Domain testing requires that testers error.Difference of static &dynamic:Static testing-In static
execution of software/system components using manual or sequence of activities performed to ensure the quality of should have basic knowledge in the domain they are to test testing, we will check the code or the application without
automated tools to evaluate one or more properties of the software application.The different phases of Software in order to be able to perform effectively. • it is a process in executing the code.-Static testing includes activities like
interest. The purpose of software testing is to identify Testing Life Cycle are-Requirement Analysis – In this phase, which the application is tested by giving a minimum number code Review, Walkthrough, etc.-Static testing is a
errors, gaps or missing requirements in contrast to actual the high-level analysis of the requirements is done. Test of inputs and evaluating its appropriate outputs. Verification Process.-Static testing is used to prevent
requirements.Some prefer saying Software testing Planning :In this phase, a test strategy and approach are System testing• The testing conducted on the complete defects.-Static testing is a more cost-effective process.-This
definition as a White Box and Black Box Testing. In simple defined.Test Case Development – The test cases are integrated products and solutions to evaluate system type of testing can be performed before the compilation of
terms, Software Testing means the Verification of created in this phase.Test Environment Setup – Here, the compliance with specified requirements on functional and code-Under static testing, we can perform the statement
Application Under Test (AUT). This Software Testing course test environment is created in which the test execution will non functional aspect is called system testing• This is done coverage testing and structural testing.-It involves the
introduces testing software to the audience and justifies the be performed.Test Execution – Test cases are executed and after unit ,component , and integration testing • System checklist and process which has been followed by the test
importance of software testing. defects are logged for the failed tests.Exit Criteria testing brings out issues that are fundamental to design, engineer.Vs/Dynamic testing:-In dynamic testing, we will
Quality Assurance:+ Concentrated on process of producing Evaluation and Reporting – Based on the agreed-upon exit architecture, code of the whole product• On functional side, check the code/application by executing the code.-Dynamic
the product+ Defect prevention oriented+ Usually done criteria, the testing activities are marked as complete. system testing focuses on real life customer usage of the testing includes activities like functional and non-functional
throughout life cycle+ This is usually a staff function Test Closure – A test closure document is prepared which product and solution. it involve testing a product’s testing such as UT (usability testing),IT (integration testing),
Eg: Reviews and Audits Quality control+ Concentrating on contains all the testing activities performed and the bugs functionality and features• Non functional aspect involve ST (System testing) & UAT (user acceptance testing).-
specific product+ Defect detection and correction oriented+ found. This phase marks the formal closure of the testing testing the product quality factors On the non-functional Dynamic testing is a Validation Process.-Dynamic testing is
Usually done after the product is built+ This is a line phase. side, system brings in different testing types ,some of used to find and fix the defects.-Dynamic testing is a less
functionEg: software testing at various levels Black box testing:It is a software testing technique that which are as follows 1. Performance testing/load cost-effective process.-Dynamic testing can be done only
Phases of software project: 1.Requirement gathering and examines the functionality of software without knowing its testing:To evaluate the time taken or response time of the after the executables are prepared.-Equivalence Partitioning
analysis Specific requirements of the software to be built internal structure or coding Also known as-- (BB)Black Box system to perform it’s required functions in comparison and Boundary Value Analysis technique are performed
are gathered and documented in the form of system Testing is also known as functional testing, data- driven with different versions of same product or a different under dynamic testing.-This type of testing required the test
requirement specification(SRS) 2.Planning: This phase testing, and closed-box testing.In black-box testing, there is competitive product is called performance testing 2. case for the execution of the code.
comes up with schedule, the scope and resource less programming knowledge is required. It is not well Scalability testing:A testing that requires enormous amount Static: testing by humans: Humans read the program code
requirement of project At the end ,project plan and test suitable for algorithm testing.It is done at higher levels of of resource to find out the maximum capability of the to detect error rather than computers executing the code to
plan documents are delivered testing that are system testing and acceptance testing.It is system parameters is called scalability testing 3. Reliability find errors1. Desk checking of code It is done by author of
3 .Design: This phase figure out how to meet the hard to automate black-box testing due to the dependency testing:To evaluate the ability of the system or an code It is done by comparing code with design to make sure
requirements It is delivered into 2 levels. High level design of testers and programmers on each other.It is mainly independent component of the system to perform it’s that code does what it is supposed to do There is no process
and low level design System design description (SDD) performed by the software testers.It is less time-consuming. required functions repeatedly for a specified period of time or structure that verify the effectiveness of desk checking
document is created at end of this phase In Black box testing, time consumption depends upon the is called reliability testing Advantages of static testing
4.Coding: It includes coding the program in choosen availability of the functional specifications.The base of this 4. Stress testing:Evaluating a system beyond the limits of The programmer who knows the code well is well equipped
programming language 5.Testing: It includes identifying testing is external expectations.It is less exhaustive than the specified requirements or system resources to ensure to understand his own code There are fewer scheduling and
and removing defects in the software Different kinds of White Box testing. In black-box testing, there is no the system does not break down unexpectedly is called logistics overhead Defects are detected and corrected with
testing are Unit testing: Modules are tested individually implementation knowledge is required. The main objective stress testing 5. Interoperability testing:This testing is done minimum time delay Disadvantages:Developer is not the
6.Deployment and Maintaince Defects occur after the of implementing black box testing is to specify the business to ensure that two or more products can exchange best person to detect problems in his own code Developers
deployment of software in customer’s environment should needs or the customer's requirements.In black-box testing, information,use the information, and work closely generally prefer to write new code rather than do any form
be corrected There are 3 kinds of maintaince Corrective: defects are identified once the code is ready.It can be 6. Localization testing:Testing conducted to verify that the of testing It is person dependent and informal
To correct errors that were not discovered during performed by trial and error technique.Mainly, there are localized product works in different languages is called code walkthrough:These are group oriented and less formal
development Adaptive: For porting software to work in three types of black-box testing: functional testing, Non- localization testing than inspection method It bring multiple perspective
new environment Preventive: for eg changing the Functional testing, and Regression testing. Why is system testing is done?• Provide independent A set of people look at program code and raise questions
application program code to avoid security hole in operating It does not find the errors related to the code. perspective in testing• Bring in customer perspective in .Author explains logic and answer the questions. if the
system code When we do Black Box testing? · Unlike traditional white testing• Provide a “fresh pair of eyes” to discover defects author is unable to answer he/she take those questions and
Verification:+ It check whether we are building product box testing, black box testing is beneficial for testing not found earlier by testing• Test product behavior in a find answers
right+ It is done to prevent defects before they take shape software usability. · The overall functionality of the system complete, and realistic environment• Test both functional Formal inspection:This method is to detect all
+ It includes requirement review, design review, code under test · Black box testing gives you a broader picture of and non- functional aspects of the product• Build faults,violations and other side effect It has high degree of
review etc+ We can assume verification and quality the software.Types of black box tesing :Functional testing – confidence in the product• Analyze and reduce the risk of formalism There are 4 roles in inspection
assurance to be one This is a type of black box testing which is related to the releasing the product• Ensure all requirements are met and Author: A moderator who is expected to formally run the
Validation:+ It check whether we are building right product functional requirements of a system; Functional testing is ready the product for acceptance testing inspection according to process Inspectors are the people
It finds defect and fix them + It includes different kind of concerned only with the functional requirements of a Tools for performance testing• There are 2 types of tools who actually provides review comments for code
testing like unit testing, integration testing etc+ Validation system and covers how well the system executes its that can be used for Performance testing. Functional Scribe takes detailed notes during the inspection meeting
and quality control are assumed to be one functions. · Non-functional testing – This black box testing performance tools and load tools:• Functional performance and circulates them to inspection team after meeting
Advantages of White Box Testing: Testing can start in type is not related to testing of specific functionality, Non tools help in recording and playing back the transactions Disadvantages It is time consuming The logistics and
early stages of the Software Development Cycle to functional testing is concerned with the non-functional and obtaining performance numbers.eg: WinRunner from shedulings can become an issue It is not always possible to
concentrate on independent code units. Since the tester is requirements and is designed specifically to evaluate the mercury, Silktest from segue• The load testing tools go through every lines of code
well aware of the functioning of the code, formulating the readiness of a system according to the various criteria which simplify the complexities involved in creating the load and Structural testing:It is actually run by the computer on the
test case becomes easier for effective testing. White box are not covered by functional testing. · Regression testing – without such load tools it may be impossible to perform built product It takes into account code structure, internal
testing ensures traceability of test cases right to the source, Regression Testing is performed after code fixes, upgrades these kinds of tests. eg:load runner from mercury,silk design and how they are coded
thus ensuring adaptability of testing in case there is any or any other system maintenance to check the new changes performer from segue Unit/code functional testing It involves quick test that
change in the code. It helps in code optimization, as has not affected any existing functionality Scenario Testing?:Scenario testing is a software testing checks out any obvious mistakes .This is done prior to
redundant pieces of code can be removed with help of How to do black box testing Various techniques technique that makes best use of scenarios. Scenarios help formal reviews of static testing so that review mechanism
branch coverage and statement coverage testing. Memory 1. Requirements based testing • Requirements-based a complex system to test better where in the scenarios are doesnot waste time Initial test can be done either by
leaks (not freeing the allocated memory blocks), which tend testing is a testing approach in which test cases, conditions to be credible which are easy to evaluate. running the product under a debugger or IDE by building a
to make the program slower, are hard to detect unless and data are derived from requirements. • It includes What is Structural Testing ?Structural testing, also known as debug version of product Code coverage testing
testing is performed at the basic level. White box testing functional tests and also non-functional attributes such as glass box testing or white box testing is an approach where It involves designing and executing test cases and finding
helps in detecting possible leaks. White-Box Test cases can performance, reliability or usability. • Requirements are the tests are derived from the knowledge of the software's out percentage of code that is covered by testing
be easily automated.Disadvantages of White Box Testing tracked by a Requirement traceability matrix(RTM) 2. structure or internal implementation.The other names of Percentage of code covered by testing can be found by
White box testing can be complex. It is an expensive Positive and negative testing • Positive testing is done to structural testing includes clear box testing, open box technique called ‘instrumentation of code’Instrumented
approach in terms of skilled resources and man hours. verify the known test conditions and negative testing is testing, logic driven testing or path driven testing. code can monitor and keep audit of what portions of code
Every time there is a change in implementation causes the done to break the product with unknowns • The purpose of Structural Testing Techniques:Statement Coverage - This are covered Uses of code coverage technique Performance
test cases to be rewritten entirely, which is a time positive testing is to prove that the product works as per technique is aimed at exercising all programming analysis and optimization Resource usage analysis Checking
consuming process. It is practically impossible to cover specification and expectations • When a test case verifies statements with minimal tests.Branch Coverage - This of critical sections or concurrency related parts of code
each and every aspect of a huge source code. the requirements of product with a set of expected output it technique is running a series of tests to ensure that all Identifying memory leaks Dynamically generated code
What is SDLC?SDLC stands for Software Development Life is called positive test case3. Boundary value analysis • branches are tested at least once.Path Coverage - This Different types of coverage areStatement coverage Path
Cycle. It describes the various phases involved in the Boundary value analysis is used to test boundary values technique corresponds to testing all possible paths which coverageCondition coverage Function coverage
software development process. With the help of SDLC, we because the input values near the boundary have higher means that each statement and branch are covered Statement coverage:It is a technique in which all the
can create software applications in a well-defined and chances of error. • Boundary values are those that contain Alpha Testing:Alpha Testing is a type of acceptance testing; executable statements in the source code are executed
systematic way.The different phases of the Software the upper and lower limit of a variable. • Test cases are performed to identify all possible issues and bugs before atleast once It is used for calculation of number of
Development Life Cycle are-Requirement Gathering and developed for each and every value of the range.4. Decision releasing the final product to the end users. Alpha testing is statements in the source code which have been executed
Analysis –:In this phase, all the requirements are gathered table • This is a systematic approach where various input carried out by the testers who are internal employees of the Statement coverage = Number of executed statements
and analyzed for their feasibility.Designing –:In this phase, combinations and their respective system behavior are organization. The main goal is to identify the tasks that a *100/Total number of statementsPath coverage:It test all
the requirement specifications are converted into design captured in a tabular form. That's why it is also known as a typical user might perform and test them. paths of the program This is a technique which ensures that
specifications.Coding/Implementation :Actual coding is cause-effect table. • This technique is used to pick the test Beta Testing:Beta Testing is performed by “real users” of all the paths of the program are traversed atleast once Path
done here.Testing –:This phase involves testing of the cases in a systematic manner • it saves the testing time and the software application in “real environment” and it can be coverage = Total paths exercised *100
software product.Deployment : The software is deployed to gives good coverage to the testing area of the software considered as a form of external User Acceptance Testing. It Total paths in program:Condition coverage It cover all the
production for the end-user.Maintenance :Due to change in application 5. Equivalence Partitioning testing • is the final test before shipping a product to the customers. possible outcomes(true and false) of each condition of
the environment and for continuous improvement Equivalence partitioning is a technique in which the input Direct feedback from customers is a major advantage of decision point at least once Condition coverage = Total
maintenance is required. data are divided into distinct partitions , where the behavior Beta Testing. This testing helps to test products in decisions exercised /Total number of decisions in the
Software Testing has different goals and objectives.The or outcome of product within each member of the partition customer’s environment. program*100
major objectives of Software testing are as follows: is same. Then one sample from each partition is picked up static Testing Static testing is testing, which checks the Function coverage:This technique cover all functions in a
Finding defects which may get created by the programmer for testing • The set of input values that generate one single application without executing the code. It is a verification program It is easier to achieve 100 percent function
while developing the software.Gaining confidence in and expected output is called a ‘partition’. 6.State based testing process. Some of the essential activities are done under coverage than 100 percent coverage in any of earlier
providing information about the level of quality.To prevent • State Transition testing is defined as the testing technique static testing such as business requirement review, design methods Function coverage gives more focus on functions
defects.To make sure that the end result meets the business in which changes in input conditions cause's state changes review, code walkthroughs, and the test documentation which are frequently called and hence it help in improving
and user requirements.To ensure that it satisfies the BRS in the Application under Test. • State transition testing review.Static testing is performed in the white box testing the performance and quality of the product Function
that is Business Requirement Specification and SRS that is helps to analyze behavior of an application for different phase, where the programmer checks every line of the code coverage = Total functions exercised *100/Total
System Requirement Specifications. input conditions. • This can be used when a tester is testing before handling over to the Test Engineer.Static testing can number of functions in the program
To gain the confidence of the customers by providing them the application for a finite and sequential set of input be done manually or with the help of tools to improve the Code complexity testing:This testing finds the complexity of
a quality product. values. • There are two main ways to represent or design quality of the application by finding the error at the early code ‘Cyclomatric complexity’ is a metric that quantifies the
state transition. State transition diagram and state stage of development; that why it is also called the program’s complexity A program is represented in the form
transition table.7.Compatibility testing • Testing done to verification process.The documents review, high and low- of flow graph To convert a flow chart to flow graph
ensure that the product features work consistently with level design review, code walkthrough take place in the following steps are done Identify predicates or decision
different infrastructure components is called compatibility verification process.Dynamic Testing:Dynamic testing is points in program Ensure that predicates are simple
testing • Infrastructure parameters could be of testing, which is done when the code is executed at the run Combine all sequential statements into a single node
hardware,software or other components • Parameters that time environment. It is a validation process where When a set of sequential statements are followed by a
generally affect compatibility of product are 8. User functional testing [unit, integration, and system testing] and single predicate, combine all sequential statements and
documentation testing • User documentation testing non-functional testing [user acceptance testing] are predicate into one node and have 2 edges emanating from
should have 2 objectives • To check if what is stated in the performed.We will perform the dynamic testing to check
this one node . such nodes are called ‘predicate nodes’Make software Testing Principles-Testing shows the presence of Selecting test cases for Acceptance testing • Following are White box testing In white-box testing, the internal
sure all nodes terminate at some node defects-Exhaustive Testing is not possible-Early Testing- the guidelines on what test cases can be included for structure of the software is known to the tester. It is also
Regression testing:• Regression testing is done to ensure Defect Clustering-Pesticide Paradox-Testing is context- acceptance testing✓ End to end functionality verification: known as structural testing, clear box testing, code-based
that enhancements or defect fixes made to the software dependent-Absence of errors fallacy test cases that include the end to end functionality of the testing, and transparent testing. In white-box testing, there
works properly and does not affect the existing functionality Acceptance testing• Acceptance testing is a phase after product are taken up for acceptance testing. real life is a requirement of programming knowledge. The base of
• Since this testing technique focuses on reuse of existing system testing that is normally done by the customers • The scenarios are tested when the product is tested end to end this testing is coding which is responsiblefor internal
test cases that have already been executed, the technique is customer defines a set of test cases that will be executed to ✓ Domain tests: test cases that reflect business domain working.It is done at lower levels of testing that are unit
called “selective retesting”Types of Regression testing• qualify and accept the product• These test cases are knowledge are included✓ User scenario tests: acceptance testing and integration testingIt is easy to automate the
• Regular Regression testing Is done between test cycles to executed by the customers themselves to quickly judge the tests reflect the real life user scenario verification. As a white box testing. It is mainly performed by developers. It is
ensure that the defect fixes that are done and functionality quality of the product before deciding to buy the more time-consuming. It takes a long time to design test
result ,test cases that portray them are included✓ Basic
that were working with the earlier test cycles continue to productAcceptance criteria cases due to lengthy code. It is more exhaustive than Black
sanity tests: tests that verify basic existing behavior of the
work.• Regular Regression testing can use more than one 1. Acceptance criteria –product acceptance• Each Box testing.In white-box testing, there is a requirement of
product are included✓ New functionality: when the product
product build for the test cases to be executed• A Final requirements is associated with acceptance criteria• implementation knowledge. Whereas, in white box testing,
undergoes modification or changes, the acceptance test
Regression testing is done to validate the final build before Whenever there are changes to requirements, there is a possibility of early detection of defects. It can test
release.• The Final Regression test cycle is conducted for a acceptanccriteria is accordingly modified• Existing test cases focus on verifying the new features✓ A few non data domain and data boundaries in a better way. It is well
specific period of duration called “cook time” for regression cases are looked at and certain categories of test cases can functional tests: check the non functional aspect of the suitable and recommendedfor algorithm testing. The types
testing be grouped to form acceptance criteria product✓ Tests pertaining to legal obligations and service of white box testing are – Path testing, Loop testing, and
When to do Regression testing:• It is necessary to perform 2. Acceptance criteria –procedure acceptance level agreements✓ Acceptance test data Condition testing. Its main objective is to check the code
regression testing when✓ A reasonable amount of initial • Acceptance criteria can be defined based on the Summary of testing phases:• The transition to each of the quality. In white-box testing, there is the detection of
testing is already carried out✓ A good number of defects procedures followed for delivery. eg: user documentation testing phase is determined by a set of entry and exit hidden errors. It also helps to optimize the code.
3. Acceptance criteria –service level agreements criteria• Having a mild entry criteria or very strict entry White Box Testing at various levels of the Testing Process
have been fixed✓ Defect fixes that can produce side effects
• Service level agreements can become part of acceptance criteria have their own disadvantages• When criteria is too White-box testing can be applied at the Unit, Integration
are taken care of• Regression testing may also be
criteria. service level agreements are generally part of a mild, all the test phases start at same time representing one and System levels of the software testing process. White
performed periodically, as apro active measure
contract signed by the customer and product organization extreme where the same problem is reported by multiple Box Testing at Unit Testing Level Unit testing is done at the
How to regression testing Regression testing involves
Test Metrics Life Cycle:The life cycle of test metrics consists teams, increasing the duplication of defects etc • Having too basic level, as and when the programmer develops a fully
following steps1. Performing initial smoke or sanity tests 2.
of four stages• Analysis: In this stage, developers identify strict entry criteria solves this problem but a lack of functional module, aka unit of code.
Understanding the criteria for selecting the test cases 3.
the required metrics and define them.• Communicate: parallelism in this case creates a delay in the release of the 1)Execution Testing: It involves deep checking the code to
Classifying the test cases into different priorities 4. A
Once metrics are identified, developers have to explain their product ensure all possible aspects have been covered. It involves:
methodology for selecting test cases 5. Resetting the test
importance to stakeholders and the testing team.• Black box testing • Black box testing is done without the Statement Coverage: Statement Coverage is a White Box
cases for test execution 6. Concluding the results of a
Evaluation: This stage includes quantifying and verifying the knowledge of the internals of the system under test • It Test design technique which ensures that each and every
regression cycle Example: converting a flowchart to flow
data. Then testers have to use the data to calculate the doesn’t require examining of code of a program • Tester line of code has been executed at least once.
graph and calculating complexity
value of the metric.• Report: Once the evaluation process is only knows about set of inputs and expected outputs and un Branch/Decision coverage: Branch coverage is a testing
What is UAT?:User Acceptance Testing (UAT) is a type of
finished, the development team needs to create a report aware of how those inputs are transformed into outputs by technique which ensures that each and every decision
testing performed by the end user or the client to
including a detailed summary of the conclusion. Then the software making point and its possible outcomes have been tested at
verify/accept the software system before moving the
report is distributed among stakeholders and relevant Integration testing is the process of testing the interface least once with different input parameters. Path coverage:
software application to the production environment.UAT is
representatives. The stakeholders then give their feedback between two software units or module. • The purpose of Path Coverage ensures that each and every path of the code
done in the final phase of testing after functional,
after reading the information carefully the integration testing is to expose faults in the interaction has been traversed at least once. It is imperative to ensure
integration and system testing is done.
Software Testing metrics are quantitative steps taken to between integrated units. • It’s focus on determining the that all segments of Control structures have been covered
Purpose of UAT:The main Purpose of UAT is to validate end
evaluate the software testing process's quality, correctness of the interface. • Once all the modules have for a complete path coverage. Loop coverage: Loop
to end business flow. It does not focus on cosmetic errors,
performance, and progress. This helps us to accumulate been unit tested, integration testing is performed. • coverage ensures that all loops have been executed zero
spelling mistakes or system testing. User Acceptance Testing
reliable data about the software testing process and Internal: it provide communication across modules with in a times, at least once or more than once within their
is carried out in a separate testing environment with
enhance its efficiency. This will allow developers to make product. it is internal to product and not exposed to boundary values. It is important to test the exit condition of
production-like data setup.It is kind of black box testing
proactive and precise decisions for upcoming testing customers • External: They are visible outside product to the loop for these cases. Data Structures Test: All data
where two or more end-users will be involved.
procedures. third party developers Top down integration:In this structures have to be tested for extreme conditions. For
Need of User Acceptance Testing:Need of User Acceptance
What is a metric in software testing metrics?A Metric is a integration testing, takes place from top to bottom. First example: Stack overflow issues sometimes go undetected if
Testing arises once software has undergone Unit,
degree to which a system or its components retains a given high-level modules are tested and then low-level modules not handled properly. 2. Functional Testing – The
Integration and System testing because developers might
attribute. Testers don't define a metric just for the sake of and finally integrating the low-level modules to a high level Functional Testing technique involves testing the
have built software based on requirements document by
documentation. It serves greater purposes in software to ensure the system is working as intended.Advantages functionality of the code segment based on specific inputs
their own understanding and further required changes
testing. For example, developers can apply a metric to Fault Localization is easier.Critical Modules are tested on to verify and validate the expected outputs. 3. Mutation
during development may not be effectively communicated
assume the time it takes to develop software. It can also be priority.major design flaws could be found and fixed Testing :Every time a code is fixed to rectify a bug, there are
to them, so for testing whether the final product is accepted
assigned to determine the numbers of new features and first.Disadvantages: Needs many Stubs. chances of introducing another bug. Mutation testing looks
by client/end-user, user acceptance testing is needed.
modifications, etc., added to the software.Importance of Modules at a lower level are tested inadequately. into such scenarios.
Selecting test cases for Acceptance testing :• Following are
Software Testing MetricsAs mentioned, test metrics are Bottom-up Integration Testing :Bottom-up Integration Advantages of White Box Testing • Testing can start in early
the guidelines on what test cases can be included for
crucial to measuring the quality and performance of the Testing is a strategy in which the lower level modules are stages of the Software Development Cycle to concentrate
acceptance testing✓ End to end functionality verification:
software. With proper software testing metrics, developers tested first. These tested modules are then further used to on independent code units. • Since the tester is well aware
test cases that include the end to end functionality of the
can−• Determine what types of improvements are required facilitate the testing of higher level modules. The process of the functioning of the code, formulating the test case
product are taken up for acceptance testing. real life
to deliver a defect-free, quality software• Make sound continues until all modules at top level are tested. Once the becomes easier for effective testing. • White box testing
scenarios are tested when the product is tested end to end
decisions about the subsequent testing phases, such as lower level modules are tested and integrated, then the ensures traceability of test cases right to the source, thus
✓ Domain tests: test cases that reflect business domain next level of modules are formed.Advantages:Fault
scheduling upcoming projects as well as estimating the ensuring adaptability of testing in case there is any change
knowledge are included✓ User scenario tests: acceptance localization is easier.No time is wasted waiting for all
overall cost of those projectsEvaluate the current in the code. • It helps in code optimization, as redundant
tests reflect the real life user scenario verification. As a technology or process and check whether it needs further modules to be developed unlike Big-bang approach pieces of code can be removed with help of branch
result ,test cases that portray them are included✓ Basic modifications Disadvantages:Critical modules (at the top level of software coverage and statement coverage testing. • Memory leaks
sanity tests: tests that verify basic existing behavior of the Types of software testing metricsL:There are three types of architecture) which control the flow of application are (not freeing the allocated memory blocks), which tend to
product are included✓ New functionality: when the product software testing metrics−• Process Metrics: Process metrics tested last and may be prone to defects. make the program slower, are hard to detect unless testing
undergoes modification or changes, the acceptance test define the characteristics and execution of a project. These Performance testing • The testing performed to evaluate is performed at the basic level. White box testing helps in
cases focus on verifying the new features✓ A few non characteristics are essential to the improvement and the response time,throughput,and utilization of the detecting possible leaks. • White-Box Test cases can be
functional tests: check the non functional aspect of the maintenance of the process in the SDLC (Software system,to execute it’s required functions in comparison with
easily automated. Disadvantages of White Box Testing •
product✓ Tests pertaining to legal obligations and service Development Life Cycle).• Product Metrics: Product metrics different versions of the same product or a different
White box testing can be complex. • It is an expensive
level agreements✓ Acceptance test data define the size, design, performance, quality, and competitive product is called performance testing • The
approach in terms of skilled resources and man hours. •
Summary of testing phases• The transition to each of the complexity of a product. By using these characteristics, performance testing is done to ensure that  Processes the
Every time there is a change in implementation causes the
testing phase is determined by a set of entry and exit developers can enhance their software development required number of transactions in any given
test cases to be rewritten entirely, which is a time
criteria• Having a mild entry criteria or very strict entry quality.• Project Metrics: Project Metrics determine the interval(throughput)Factors governing performance testing
consuming process. • It is practically impossible to cover
criteria have their own disadvantages• When criteria is too overall quality of a project. It is used to calculate costs, 1. ThroughputThroughput represents the number of
each and every aspect of a huge source code
mild, all the test phases start at same time representing one productivity, defects and estimate the resource and requests processed by the product in a specified time
Defect bash:A defect bash is an ad hoc testing ,done by
extreme where the same problem is reported by multiple deliverables of a project. duration 2. Response time Response time can be defined as
people performing different roles in the same time duration
teams, increasing the duplication of defects etc • Having too Functional Testing:Functional testing is a type of software the delay between the point of request and the first
during the integration testing phase , to bring out all types
strict entry criteria solves this problem but a lack of testing where the system is tested against the functional response from the product 3.Latency Latency is a delay
of defects that may have been left out by planned testing
parallelism in this case creates a delay in the release of the requirements or specifications like the technical details, caused by the application, operating system,and by the
The testing by all the participants during defect bash is not
product data manipulation and processing, and other specific environment that are calculated separately 4.Tuning Tuning
based on written test cases.What is to be tested is left to
What are the benefits of Black Box testing? • The tester functionalities. You might think, functional testing just is a procedure by which the product performance is
individual’s decision All the activities in the defect bash are
doesn’t need any technical knowledge to test the system. It refers to testing a function (method) of your module or any enhanced by setting different values to the parameters of
planned activities, except for what to be tested It involve
is essential to understand the user’s perspective. • Testing is class but that’s not what it does.It tests a slice of the the product, operating system, and other components 5.
several steps1. Choosing the frequency and duration of
performed after development, and both the activities are functionality of the whole system.-It is also a type of black- Benchmarking It is important to compare the throughput
defect bash2. Selecting the right product build3.
independent of each other. • It works for a more extensive box testing that holds the test cases according to the and response time of the product with those of the
Communicating the objective of each defect bash to
coverage which is usually missed out by testers as they fail specifications provided by the software component under competitive products.this type of performance testing
everyone4. Setting up and monitoring the lab for defect
to see the bigger picture of the software. • Test cases can test.- wherein competitive products are compared is called
bash5. Taking actions and fixing issues 6. Optimizing the
be generated before development and right after Non-functional Testing:Non-functional testing is another benchmarking 6. Capacity planning The exercise to find out
effort involved in defect bash
specification. Black box testing methodology is close to type of software testing which is used to check the non- what resources(hardware and software) and configurations
Quality Control in Software Testing is a systematic set of
agile. functional aspects like performance, usability, reliability, are needed is called capacity planning
processes used to ensure the quality of software products
Error guessing • In software testing, error guessing is a test etc. of a software application which is not tested using
or services. The main purpose of the quality control process
method in which test cases used to find bugs in programs functional testing.-Non-functional testing helps in testing
is ensuring that the software product meets the actual
are established based on experience in prior testing. • The the readiness of a system.It defines the way a system
requirements by testing and reviewing its functional and
scope of test cases usually rely on the software tester operates, rather than specific behaviors of that system. This
non-functional requirements
involved, who uses past experience and intuition to is totally in contrast to functional testing, which tests
determine what situations commonly cause software against functional requirements that describe the functions
failure, or may cause errors to appear. • Typical errors of a system.-
include divide by zero, null pointers, or invalid parameters
Process model to represent different phases • ETVX best practicesThe key to successful management is to V shaped steps: Project and Requirements Planning -
model(entry ,task ,verification ,exit) entry criteria: specify ensure that the testing and development teams gel well. allocate resources *Product Requirements and Specification
when that phase can be started and conditions that input to 3. Technology related best practices• A fully integrated Analysis complete specification of the software system
phase should satisfy Tasks: activities to be carried out in TCDB-SCB- defect repository can help in better automation *Architecture or High•Level Design defines how software
that phase Verification: Specify the methods of checking of testing activities• When test automation tools are used, it functions fulfill the design Detailed Design develop
that the tasks have been carried out correctly Exit criteria: is useful to integrate the tool with TCDB, defect repository, algorithms for each architectural component,* Production,
conditions that output of each phase should satisfy and an SCM tool operation and maintenance provide for enhancement and
Life cycle model • It provides a fixed generic framework Why metrics in testing• Metrics in testing help in corrections* System and acceptance testing check the
that can be tailored to a specific project • Project specific identifying ✓ When to make the release✓ What to release✓ entire software system in its environment *Integration and
parameters will include *Size *Budget * Duration • Project Whether the product is being released with known quality Testing check that modules interconnect correctly*
plan=life cycle model+project parameters 1. Waterfall Types of metrics• Metrics can be classified into different Unit testing check that each module acts as expected
model • Phases are organized in linear order • At end of types based on what they measure and what area they Coding transform algorithms into software
each phase certification is done to the o/p formed focus on• Metrics can be classified as product metrics and Differences of Functional testing& Functional testing
Overall business requirements→ Software requirements process metrics• Product metrics can be further classified as Functional testing :To verify and validate the software
→Planning→ High level design→ Low levwl design→Coding ✓ Project metrics : A set of metrics that indicate how the actions that define the process *Concentrates on the user
→testingAdvantages • Simple • Straight forward • Best for project is planned and executed Progress metric : Progress requirements*Easy to execute blackbox test cases*
projects where requirements are well understood metrics helps in finding out the status of test activities and Describes what the system should do *It is executed before
Disadvantages • Requirements should be given first . can’t they are also good indicators of product quality Non functional testing
add requirements in between development • It follow big ✓ Productivity metrics : A set of metrics that takes into Functional testing:To verIly anc validate the perfom-ante of
bang theory. Software is delivered in one shot . It have great account various productivity numbers that can be collected the system *Concentrates on the user expectations *Easy to
risk • Formal documents are needed at end of each phase 2. and used for planning and tracking testing activities. These execute white-box test cases*Describes how the system
Prototype model • A prototype is made with known metrics helps in planning and estimating of testing should wit*It is executed after Functional testing is
requirements and remaining phases are done informally. • 1. Project metrics:• The initial effort is called “baselined executed
After this the prototype is provided to client and according effort”• As the project progresses and if scope of the Differences of bb and wb
to their suggestions changes are made • Once the product changes, then the effort estimates are reevaluated Black box:The Internal Workings of an application are not
requirements are obtained, prototype is discarded • It is again and reevaluated effort estimate is called “revised required to be known This can only be done by trial and
suitable for projects which has no clear idea about effort”• Baselined effort and schedule , revised effort and error method Also known as closed box testing, data driven
requirements at first ADVANTAGES • Requirements need schedule and actual effort and schedule becomes input to testing and functional testing Performed by end users .
not given first • Minimal documentation is needed Testing is based on external expectations - Internal behavior
this metrics• It includes✓ Effort variance✓ Schedule
DISADVANTAGES • Cost is high • Quick and dirty method. of the application is unknown
variance✓ Effort distribution across phases
Because it focus on quick development rather than quality White box: Tester has full knowledge of the Internal
Effort variance:In this, Baselined effort estimates ,revised
3. Rapid application development(RAD) • In this it is not a workings of the application Also known as clear box testing,
effort estimates and actual effort are plotted together for all
prototype that is built but actual product itself. • The built structural testing or code based testing Normally done by
the phases of SDLC:Calculating effort variance for each of
application is not discarded • CASE(computer aided testers and developers Internal workings are fully known
the phases provide measure of difference between revised
software engineering ) tools are used through out the life and the tester can design test data accordingly
and actual effort Variance %= [(Actual effort- revised
cycle 4. ITERATIVE MODEL • Software is developed in Data domains and Internal boundaries can be better tested
estimate)/revised estimate ]*100
increments, each increment adding some functional
Schedule variance• Schedule variance like effort variance, is
capabilities to system Advantages • Feedback path– in each
the deviation of the actual schedule from the estimated
phase corrections are made and reflected in later phase •
schedule.• Schedule variance is calculated only at the
Each release delivers an operational product Disadvantages
overall project level Effort distribution across phases:Some
• Not suitable for small projects • Requirements should be
indications on product quality can be obtained if the effort
given first • Limited customer interaction 5. V model • A
distribution across the various phases are captured and
variant of the waterfall that emphasizes the verification and
analyzed.The distribution percentage across the different
validation of the product • Testing of product is planned in
phases can be estimated at the time of planning and these
parallel with a corresponding phase of development • It
can be compared with the actual at the time of release for
executes phases in sequential manner in V shape • For each
getting comfort feeling on release and estimation methods
phase there is a testing activity corresponding to it • It
2. Progress metrics:Progress metrics captures the progress
involves static analysis technique (review)done without
of defects found with time• Defect metrics are classified
executing code and dynamic analysis technique done by
into test defect metrics(which help the testing team in
executing code • early design of tests enables better
analysis of product quality ) and development defect
validation of individual phases Advantages • Emphasize
metrics (which help the development team in analysis of
planning for verification and validation of the product in
development activities)• The common defect definition and
early stages of product development • Each deliverable
must be testable • Project management can track progress classification is as follows✓ Extreme : product crashes or
by milestones • Easy to use Disadvantages • Does not easily unstable✓ Critical : basic functionality of the product not
handle concurrent events • Does not handle iterations or working✓ Important : extended functionality of the product
phases • Does not easily handle dynamic changes in not working✓ Minor : product behaves differently
requirements • Does not contain risk analysis activities ✓ Cosmetic : need not fixed for this relea
Testing tasks: size and effort estimation:• Estimation 3. Productivity metrics• Productivity metrics combine
happens in 3 phases✓ Size estimation✓ Effort estimation several measurements and parameters with effort spent on
✓ Schedule estimation • Size estimates quantifies the actual the product• They help in finding out capability of team,
amount of testing that need to be done . several factors estimating cost, release date number of defects etc
contribute to the size estimate are✓ Size of product under Defects per 100 hours of testing• This metric normalizes
test✓ Extent of automation needed✓ Number of platforms the number of defects found with respect to the effort
and interoperability environments to be tested spent• It is calculated as given below ✓ Defects per 100
Activity breakdown (and scheduling):• It involves hour of testing=(total defects found in the product
translating the effort into required time frames.The for a period/total hours spent to get those defects)*100
following steps makes up this translation,1. identify Weighted defects trend:Weighted defects provide a
external and internal; dependencies among the activities combined perspective of defects without analyzing defects
2. Sequencing the activities based on expected duration and their impact•This saves time for analysis of
3. Identifying the time required for each activit4. Monitoring defects•Weighteddefects=extreme*5+critical*4+important
the progress in terms of time and effort 5. Rebalancing the *3+minor*2+cosmetic• The numbers by which each defects
schedules resources as necessary gets weighted can be organization specific
Schedule is expressed in terms of Gantt chart Defect cause distribution• It includes finding the root cause
communication management: it involves procedures that of the defects which help in identifying more defects and
ensures that everyone is kept in sync .there should be sometimes help in preventing the defects
communication between testing team members and with test defect metrics:Defect find rate• It includes tracking
other team members.Risk management: It includes and plotting the total number of defects found in the
✓ Identifying possible risks✓ Quantifying the risks-----à it product at regular intervals (say daily or weekly) from
deals with expressing the risk in numerical terms. There are beginning to end of a product development life cycle
2 components to the quantification of risks. one is Defect fix rate:It include the data about total number of
probability of risk happening and other is impact of risks. To defects fixed• The defect fixing rate should be same as
quantify both these into one number risk exposure is used defect arrival rate .because, if more defects are fixed later in
the cycle,they may not get tested properly for all possible
✓ Planning how to mitigate the risks------àidentifying
side effects
alternative strategy to combat a risk event✓ Responding to
outstanding defect rate:outstanding defects are those
risks when they becomes a reality
which are not fixed• The number of defects outstanding in
Test infrastructure management:• The infrastructure is
the product is calculated by subtracting the total defects
made up of 3 essential elements✓ Test case database(TCDB) fixed from the total defects found in the product
✓ A defect repository✓ Configuration management Priority outstanding rate• The modification to the
repository and tool• A test case database captures all the outstanding defects rate curve by plotting only the high
relevant information about the test cases in an organization priority defects and filtering out the low priority defects is
• A defect repository captures all the relevant details of called priority outstanding defects Defect trend:Defect find
defect reported for a product• Configuration management rate, fix rate ,outstanding defects, and the priority
repository keep track of change control and version control outstanding everything is consolidated to one chart called
of all the files that makes up software product. Defect trend,Defect classification trend• A graph in which
Preparing test summary report• At the completion of a each type of defects is plotted separately on top of each
tests cycle a test summary report is produced. This report other to get the total defects is called “stacked area chart”
gives insight to senior management about the fitness of the
product for release
Best practices in testing:Best practices in testing can be
classified into 3 categories 1. Process related best practices
A strong process infrastructure and process culture is
required to achieve better predictability and consistency•
When this process database is integrated with other tools
such as defect repository,SCM tool,and TCDB , the
organization can maximize the benefits 2. People related

You might also like