SOFTWARE TESTING,

Ace your homework & exams now with Quizwiz!

PESTICIDE PARADOX

Repetitive use of the same pesticide mix to eradicate insects during farming will over time lead to the insects developing resistance to the pesticide Thereby ineffective of pesticides on insects. The same applies to software testing. If the same set of repetitive tests are conducted, the method will be useless for discovering new defects. To overcome this, the test cases need to be regularly reviewed & revised, adding new & different test cases to help find more defects.

INTEGRATION TESTING DUMMY PROGRAMS

STUBS/DRIVERS Stubs and Drivers do not implement the entire programming logic of the software module but just simulate data communication with the calling module.

WHAT DOES WHITE BOX TESTING LOOK FOR?

-Internal security holes -Broken or poorly structured paths in the coding processes -The flow of specific inputs through the code -Expected output -The functionality of conditional loops -Testing of each statement, object, and function on an individual basis

How to perform a manual testing

1.) Read and understand the software project documentation/guides. Also, study the Application Under Test (AUT) if available. 2.) Draft Test cases that cover all the requirements mentioned in the documentation. 3.) Review and baseline the test cases with Team Lead, Client (as applicable) 4.) Execute the test cases on the AUT 5.) Report bugs. 6.) Once bugs are fixed, again execute the failing test cases to verify they pass.

SRS (SOFTWARE REQUIREMENTS SPECIFICATIONS)

A document specifying the requirements and expectations of a software/system.

TYPES OF MANUAL TESTING

A.) Blackbox Testing B.) Whitebox Testing C.) Unit Testing D.) System Testing E.) Integration Testing F.) Acceptance Testing

WHAT ARE THE 3 CATEGORIES OF SOFTWARE TESTING?

A.) Functional Testing B.) Nonfunctional Testing (Performance Testing) C.) Maintainance (Regression/Maintainance)

NONFUNCTIONAL TESTING

A.) Performance B.) Endurance C.) Load Testing D.) Volume E.) Scalability F.) Usability

MAINTENANCE TESTING

A.) Regression B.) Maintenance

THE 7 TESTING PRINCIPLES

A.) Testing shows presence of defects. B.) Exhaustive testing is impossible C.) Early Testing D.) Defect Clustering E.) Pesticide Paradox F.) Testing is context dependent G.) The absence of errors - fallacy

TYPES OF FUNCTIONAL TESTING

A.) Unit Testing B.) Integration Testing C.) Smoke Testing D.) UAT (User Acceptance Testing) E.) Localization F.) Globalization G.) Interoperability

WHITE BOX TESTING TECHNIQUES:

Code Coverage Analysis- eliminates gaps in a Test Case suite. It identifies areas of a program that are not exercised by a set of test cases. Once gaps are identified, you create test cases to verify untested parts of the code, thereby increasing the quality of the software product. Statement Coverage- This technique requires every possible statement in the code to be tested at least once during the testing process of software engineering. Branch Coverage- This technique checks every possible path (if-else and other conditional loops) of a software application.

DEFECT CLUSTERING

Defect Clustering states that a small number of modules contain most of the defects detected. This is the application of the PARETO PRINCIPLE to software testing: approximately 80% of the problems are found in 20% of the modules.

REGRESSION TESTING

Done after code fixes, the act of repeating other tests in parallel areas to ensure that the applied fix or change of code has not introduced other errors or unexpected behaviors.

EXHAUSTIVE TESTING

Exhaustive testing is not possible. Instead, we need the optimal amount of testing based on the risk assessment of the application.

INTEGRATION TESTING

Individual software modules are combined and tested as a group. It occurs after unit testing and before system testing. (ex. PayPal)

THE ABSENCE OF ERROR IS A FALLACY

It is possible that software which is 99% bug-free is still unusable. This can be the case if the system is tested thoroughly for the wrong requirement. Software testing is not merely finding defects, but also to check that software addresses the business needs. The absence of Error is a Fallacy i.e. Finding and fixing defects does not help if the system build is unusable and does not fulfill the user's needs & requirements.

STUB/DRIVER

Stub- Is called by the Module under Test. Driver- Calls the Module to be tested

UNIT TESTING

Testing each unit of source code in the program to show that the individual parts are correct and fit for use. It helps to reduce the cost of bug fixes since the bugs are identified during the early phases of the development lifecycle.

TESTING IS CONTEXT DEPENDENT

Testing is context dependent which basically means that the way you test an e-commerce site will be different from the way you test a commercial off the shelf application.

UAT (USER ACCEPTANCE TEST)

Testing performed by the customer/client. (The end user)

TESTING SHOWS THE PRESENCE OF DEFECTS

Testing principle states that - Testing talks about the presence of defects and not the absence of defects. i.e. Software Testing reduces the probability of undiscovered defects remaining in the software but even if no defects are found, it is not a proof of correctness.

EARLY TESTING

Testing should start as early as possible in the Software Development Life Cycle. So that any defects in the requirements or design phase are captured in early stages. It is much cheaper to fix a Defect in the early stages of testing. It is recommended that you start finding the bug the moment the requirements are defined.

PERFORMING TESTING

The process of determining the speed or effectiveness of a computer, network, software program or device. This process can involve quantitative tests done in a lab, such as measuring the response time or the number of MIPS (millions of instructions per second) at which a system functions.

USABILITY TESTING

The process of observing users' reaction to a product and adjusting the design to suit their needs.

SYSTEM TESTING

The process of performing a variety of tests on a system to explore functional or to identify problems. Usually required before and after system is put in place. (System as a whole.)

WHAT ARE THE 5 STEPS OF WATERFALL METHODOLOGY?

a.) Analyze b.) Design c.) Implement d.) Verify e.) Maintain

SMOKE TESTING

Used as an acceptance test prior to introducing a build to the main testing process. A preliminary to further testing, intended to reveal simple failures severe enough to reject a prospective software release.

V-Model

V- model is an extension of the waterfall model. It is pronounced as the "vee" model. Unlike the waterfall model, In V-model, there is a corresponding testing phase for each software development phase. Testing in V-model is done in parallel to SDLC stage. +The left side of the model is Software Development Life Cycle - SDLC +The right side of the model is Software Test Life Cycle - STLC +The entire figure looks like a V, hence the name V - model

WHITE BOX TESTING

Validates internal structure and working of your software code. (also known as Clear, Open, Structural and Glass box testing.) (Its called white box because of the see-through concept, you can see through the software's outer shell to its inner workings)

BLACK BOX TESTING

Validation of your functional requirements of the Application Under Test (AUT). Is tested without looking at the internal code structure.

WATERFALL MODEL (iterative waterfall model)

Waterfall model is a sequential model divided into different phases of software development activity. Each stage is designed for performing the specific activity during the SDLC phase. Testing phase in waterfall model starts only after implementation of the system is done. In order to keep up with changing requirements, the analysis phase is revisited at the end of the cycle and the process starts all over again.

SECURITY TESTING

verifies that security mechanisms built into a system will protect it from improper penetration.

AGILE METHODOLOGY

a.) a 2-week iterative process wherein developers and testers work on smaller pieces of code/ smaller more precise requirements. b.) the requirements are usually in the form of user stories or "stories". c.) these requirements, as oppose to the waterfall method, consist of very tiny precise deliverables that can be covered in a matter of days or hours (instead of weeks) d.) each story guides the developer and tester to work on one single functionality/ or 2-4 smaller related functionalities. e.) the SCRUM master leads the process f.) there is a daily standoff with the 3 famous questions at the start of the day. g.) the process is extremely interactive and quick.

TESTING

a.) an act of showing that a program has/doesn't have bugs. b.) testing is a process of executing a program with the intent of finding a error. c.) software testing is a critical element of software quality assurance and represents the ultimate review of system specification, design and coding.

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

a.) analysis (gather requirements) b.) design the system c.) develop the system d.) test the system e.) operations & maintenance

WHAT ARE THE 5 MOST IMPORTANT TYPES OF TESTING?

a.) functional testing b.) regression testing c.) end to end testing d.) UAT (user acceptance testing) e.) integration testing

SECONDARY ROLE OF TESTING

a.) instill confidence. b.) provide insight into the software limitations and vulnerabilities. c.) induce feedback

WHAT HINDERS EFFECTIVE TESTING?

a.) optimism b.) belief that the system is fault free c.) negative attitude toward effective testing d.) ego e.) don't want to fail f.) conflicts between testers and developers g.) cost h.) resource limitations i.) delivery commitments

SOFTWARE TESTING LIFE CYCLE (STLC) (THE ENTIRE TESTING PROCESS)

a.) plan (the test) b.) write (the test cases) c.) review (the test cases) d.) execute (the test cases) f.) report (the defect) Each of these stages has a definite Entry and Exit criteria, Activities & Deliverables associated with it.

TESTING THE DESIGN

a.) to make sure it is accurate, clear and internally consistent (Verification) b.) evaluating how well it reflects reality and what the end user expects (Validation) c.) Making sure it is consistent with all previous and subsequent phases of a project.

EXIT CRITERIA

defines the items that must be completed before testing can be concluded.

INCRIMENTAL DEVELOPEMENT

deliver separate increments of functionality, assemble the whole project only at the conclusion of the whole phase.

PRIMARY ROLE OF TESTING

determine whether the system meets needs and specifications.

ENTRY CRITERIA

gives the prerequisite items that must be completed before testing can begin.

SCRUM

is an enhancement of the commonly used iterative/incremental development. SCRUM is an agile software development model based on multiple small teams working in an intensive and interdependent matter.

SOFTWARE TESTING

software testing is a set of activities conducted with the intention of finding error in a software.

AD HOC TESTING

testing carried out using no recognized test case design technique which is a method used to determine test cases. here the testing is done by the knowledge of the tester in the application and he tests the system randomly without any test cases or any specifications or requirements.

RETESTING

the act of repeating a test to verify that a found defect has been correctly fixed.


Related study sets

Agriculture Food Science and Technology

View Set

PSY1010CH13SocialPsychologySummativeQuiz

View Set

Services Marketing Test Questions (Chapter 1)

View Set

Chapter 14 : Musculoskeletal Imaging and Superficial Structure - REVIEW QUESTIONS

View Set

What is the relationship between power, voltage and current?

View Set

Operations Management Final Exam

View Set

Social Justice Ch. 7 (Justice & Poverty) Vocabulary

View Set

Intro to Mediated Comm- Test 2/Final Study Questions

View Set

Exam 3: Chapter 10 - Global Logistics & International Trade

View Set