100% found this document useful (1 vote)
7 views21 pages

Software Testing (Unit 1)

The document discusses the importance of software testing in the development lifecycle, highlighting its role in ensuring product quality and preventing costly errors. It outlines various testing types, including manual and automated testing, and emphasizes the significance of the Software Development Life Cycle (SDLC) phases. Additionally, it covers debugging processes, model-based testing, and the implications of untested software through real-life examples of failures.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
100% found this document useful (1 vote)
7 views21 pages

Software Testing (Unit 1)

The document discusses the importance of software testing in the development lifecycle, highlighting its role in ensuring product quality and preventing costly errors. It outlines various testing types, including manual and automated testing, and emphasizes the significance of the Software Development Life Cycle (SDLC) phases. Additionally, it covers debugging processes, model-based testing, and the implications of untested software through real-life examples of failures.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
s SOFTWARE TESTING o UNITE a Introduction: Purpose: _ Testing the produet is essential, whether for software development or a game or Vet s for mechanical equipment. Without the proper testing of products, it wi II not be an assured product with well:maintained quality and assurance that cannot be given 10 those un-tested Ss products, Hence testing becomes an essential phase ofthe software development lifecycle In x this tutorial, you will be learning about the importance of testing, various testing types, and its ways and phases. x x Define Software Testing: x Software testing can be defined as the action_for-checking if the tangible result oF i ‘output of product matches with the projected of expected output (of your client), and testing x also ensures thatthe product is ftee fiom any bug or defect. Testing of software involves the x implementation of a module or part of a system ofa produet to evaluate all or some ofits ~ properties. Through testing, testers can identify errors, gaps in the requirement, or missing elements in a projector system (that has been developed), Testing ean be done both ‘manually and with the help of automated tools available in the market, Sofware testing can be broken into two main testing types - White box testing and Black Box Testing. Why is Software Testing Important? Software testing plays a significant role in software or system; bugs can be expensive and can lead to a dangerous situation. Bugs in software or application can likely lead to loss of monetary value, jobs, or even a human loss. Here is some real-life example of how untested software can become hazardous: It was Apfil 2015, the Bloomberg terminal of London crashed because of software malfunction, which affects 300,000+ traders on financial markets. raw more than 1 million cars (launched in the ints have been reported due to this. The car company, Nissan, has had to market) due to airbag sensory software failure, Two ac ‘A company name ‘Starbucks’ was strained to close around 60% of its stores forcefully in the ULS and Canada because of POS system-sofiware failure. Some of Amazon's 3rd party retailers noticed abnormalities in product price, which gets reduced to one paisa because of bug. ‘There are frequently heard vulnerabilities found in Windows 10, which is all because ofa lack of proper system testing. ‘An Airlines’ Airbus of China crashed due to a bug, leading to the mass killing of 264 innocent lives Page |2 VeeYUuUBUUEYYdBDYDYWOUOUYOUODY | @ scanned with OKEN Scanner Who docs testing? This question's answer is depending on the process and its connected project-stakeholders, In the information technology industry, big companies have team members responsible for evaluating the project or software based on the requirements during the test phase. Moreover, some bugs can get detected if proper testing is done in the development stage of a software or application. So, people who can do testing are: Software Testers Project Developer Project Lead Team Manager End Users, SDLC Model: SDLC abbreviated, as the Software Development Life Cycle, can be defined as the stages of producing software having the maximum quality and least or minimum cost. It comprises of a detailed plan as to how development, altering, maintenance along with replacement of Software or product take place, gepaste SDLC contains some disérete phases, including planning, designing, construction, test, and deployment of the project. Some of the most famous SDLC models are: © Waterfall model © Spiral model and © Agile model Here's a diagram of how the SDLC Cycle looks like: Software testing is one of the major phases of software development, as listed among the SDLC's various phases SDLC (modete) Page |3 @ scanned with OKEN Scanner Software Development Life Cycle (SDLC): ag is a proces that creates a structure of development of software. There are different phases within SDLC, and each phase has its various activites. It makes the development team able to design, create, and deliver a high-quality product. SDLC describes various phases of software development and the order of execution of phases. Each phase requires deliverable from the previous phase in a life cycle of software development. Requirements are translated into design, design into development and development into testing; after testing, itis given to the client. Let’s see all the phases in detail: Different phases of the software development cycle Requirement |_,, Designing |__, Development| |g! Maintenance re > san ste _ategra-» OB + Me has 1, Requirement Phase This is the most crucial phase of the software development life eycle for the developing team as well as for the project manager. During this phase, the client states requirements, specifications, expectations, and any other special requirement related to the product or software, All these are gathered by the business manager or project manager or analyst of the service providing company. the product will be used and who will use the product to ‘The requirement includes ho mation gathered from this phase is critical to determine the load of operations. AIL infor developing the product as per the customer requirements. Design Phase n phase incides a detailed analysis of new software according to the requirement the high priority phase in the development life cycle of a system because the ng of the system is converted into physical designing ‘The output ofthe requirement phase isa collection of things that are required, and the design phase gives the way to accomplish these requirements, The decision of all required essential tools such as programming language like Java, .NET, PHP, a database like Oracle, MySQL, a combination of hardware and software to provide a platform on which software can run without any problem is taken in this phase, ‘as data flow diagrams, flowcharts, decision There are several techniques and tools, such and the structured dictionary are used for tables, and decision trees, Data dictionary, describing the system design. @ scanned with OKEN Scanner : 3. Build Development Phase After the successful completion of the requirement and design phase, the next step is to implement the design into the development of a software system. In this phase, work is divided into small units, and coding starts by the team of developers according to the design 'd in the previous phase and according to the requirements of the client discussed in requirement phase to produce the desired result. diseu Front-end developers develop casy and attractive GUI and necessary interfaces to interact with back-end operations and back-end developers do back-end coding according to the required operations. All is done according to the procedure and guidelines demonstrated by the project manager, Testing of software is exceptionally imaginative and an intellectual task for testers to perform. The testing of software or applications pursues some principles that are mentioned in this chapter. These principles also play a significant role for a software tester to test the project. These principles are: Software testing can help detect bugs: Testing any software or project can reveal a few or some defects that may or may not be detected by developers. However, testing of software alone cannot confirm that your developed project or software is error-free. Hence, it essential to devise test cases and find out as many defects as possible. Testing with effectiveness is impossible: Until your project or application under test has a straightforward structure having limited input, it won't be likely or achievable to check and test all feasible sets of data, modules, and scenarios. he earlier you will begin to test your project or software, the better you will Early testins utilize your existing time Defect in clustering: At the time of testing, you can observe that majority of the defects or bugs reported are because of a small number of modules inside your software or system. Software testing is context-dependent: Various methods, procedures, and kinds of testing fare there, which defines the type and characteristics of the application. For example, an application related to a health device necds more testing and doctor-based feedback than a game or small software. Errorfree or Bug-free software is a myth: Just because when a tester tested an application and didn't detect any defects in that project doesn't indicate or imply that your software is ready for shipping. What is Testing? Testing is the process of verifying and validating that a sofiware or application is bug- free, meets the technical requirements as guided by its design and development, and meets he user requirements effectively and efficiently by handling all the exceptional and boundary Page |5 OHHMADANADAPRABRAANNGEOCHOCOOCECHKECESEOCOCCCEA @ scanned with OKEN Scanner cases, The purpose of software testing is to identify the errors, faults, or missing snts in contrast to actual requirements, requiren ‘Types of Testing: Manual Testing © White Box Testing © Black Box Testing © Gray Box Testing Automated Te Functional Testing © Unit Testing © Integration Testing © system Testing Non-Funetional Testing © Performance Testing © Usability Testing © Compatibility Testing What is Debugging? Debugging is the process of fixing a bug in the software. It removing errors. This activity begins after the software fails to execute sting the software. It is an be defined as identifying, analyzing, and properly and concludes by solving the problem and successfully te: considered to be an extremely complex and tedious task because errors need to be resolved at all stages of debugging. Aspects Testing Debugging Debugging is the process of correcting Testing is the process to find bugs the bugs found during testing. Definition and errors. Aspects Testing Debugging Page| 6 ——“<=‘( iEHEmhEhEhE—E™—E— LL @ scanned with OKEN Scanner Purpose Focus Approach Tools and Technique Methodology ‘Team Involve Design Knowledge Categorization Basic SDLC Aspects is to of testing purpose idemify defects or errors in the software s} It is the process to identify the failure of implemented code. Testing is done before debugging Testing involves executing the software system with test cases Testing can involve using automated or manual testing tools the display of errors. Testing, ‘Testing is done by the tester. of There i need knowledge in the tes no Testing can be done by well as outsiders. It is based on different testing levels ic. unit testing, integration testing, system testing, ete, Testing is a stage of the software development life cycle (SDLC). Testing The purpose of debugging is to fix those defects or errors. It is the process to give absolution to code failure. Debugging is done after te: the and Debugging involves analyzing symptoms problem identifying the root cause of the of a problem Debugging typically involves using tools and techniques such as logging, tracing, and code inspe Debugging is a deductive process, Debugging is done by either programmer or the developer. ing is done only by insiders. can't do debugging. Debugging is based on different types of bugs. Debugging is not an aspect of the software development life cycle, it occurs as a consequence of testing, Debugging Page |7 PARAAAADDIPPDOAFGHOOOCOF CCE HH DDD) > @ scanned with OKEN Scanner Testing is composed of the Debugging process seeks to match validation and verification of symptoms with cause, by that it leads Process Nature software. to error correction. Testing is initiated after the code Debugging commences with the Initiation is written. execution of a test case. Model Based Testing in Software Testing: Prerequisites: software-testing: Model-based testing is nothing but a simple testing technique in which we get different test cases that are described by the model. In this type, the test cases are generated via both, online and offline test case models Significance of Model-Based Testing: Early Defect Detection: Model-Based Testing (MBT) makes it possible for testers to find problems during the requirements or design phases by using model validation, By doing this, flaws are kept from spreading to more expensive fixing development phases. tions to the menance Costs: Since test cases are derived from models, any modifi system can immediately update the approprate text cases, which in turn can reflect any changes made to the models. This lessens the work and expense of maintaining test cases, particularly in complex and large-scale systems, Reusable Test Assets: Models and test cases developed during the software development lifeeyele can be uulized again for regression testing, This guarantees uniformity in testing procedures across projects and helps optimize the return on investment in testing efforts, ‘Types of Model-Based Testing Statecharts: These are an expansion of FSMs that enable complicated transitions, parallelism, and hierarchical state representation. They are frequently used to simulate the behavior of reactive systems, like embedded systems and user interfaces. Markov Models: These systems display probabilistic behavior, with state changes taking place according to probabilistic rules. They are employed in system performance and reliability analysis as well as modelling stochastic processes. Decision Tables: Decision Tables are a condensed, tabular method of expressing intricate decision reasoning. They are frequently utilized in rule-based systems and business logic validation, and they are helpful for modelling systems having conditional behavior. Entity-Relationship Diagrams (ERDs): These diagrams show how different entities in a Page |® —— @ scanned with OKEN Scanner ee “They are frequently employed in d between various entities abase design ma are related to one another database sch for showing the relationships and data structure corder in which the code is executed, Control Flow Graphs (CFGs): CFGs show the est case generation, ustrating the contro! flow of a program. They are employed in t coverage analysis, and programme behavior analysis, Data flow diagrams (DFDs): These show how data moves through a system with an emphasis on the entry, processing, and output of data, They are helpful in determining data dependencies and confirming that data transformations in software systems are accurate : Itoffers a common notation for expressing ms Unified Modelling Language (UML) different sofiware system components. Use case diagrams show how users and syste interact, whereas activity diagrams show how control moves across a system. Advantages of Model-Based Testing: Efficiency: The automation efficiency is so much higher in this type and the higher level also be acquired by the model. CO ee Comprehensive testing is also possible in this type and the changes that have been made can be easily tested by model. Different types of machines like finite state machines, unified model diagrams, and state charts are mostly taking part in this testing technique: a By reducing the cost of the process available in this type. Simultaneously many numbers of ler processes are running together for performance iner le ‘The defects that are made in the beginning stage are identified and the defect counts increase ie accordingly the testing undergoes in a progressing manner. c Disadvantages of Model-Based Testing: c For testing purposes system always needs formal specifications and the changes are made « according to different sets in a combined manner. ; ¢ ‘To understand the concept is so much difficult for the user and also for utilization. So, the earning curve of the model will be more icc. the biggest failure of the model. ¢ ‘To overcome this situation, the model should be thoroughly improvised and tr ¢ Bugs in Software Testing: ¢ Software testing is the process of testing and verifying that a software product or 7 application is doing what it is supposed to do. The benefits of testing include preventing ‘ distractions, reducing development costs, and improving performance. There are many i different types of software testing, each with specific goals and strategies. Acceptance Testing: Ensuring that the whole system works as intended. Page| 9 @ scanned with OKEN Scanner OT Wtegration Testing: Ensuring that sofware components or functions work together Unit Vesting: To ensure that each software unit is operating as expected, ‘The unit is testable component of the application, unctional Testin ‘operational requirements. Checking the black box is a common way to confirm tasks. Evaluating activities by imitating business conditions, based on Performance Testing: A test of how the soflware works under various operating loads, Load testing, for example, is used to assess performance under real-life load conditions, Re-Testing: To test whether new features are broken of degraded. Hygiene checks can be used to verify menus, fictions, and commands at the highest level when there is no time for a full reversal test What isa Bug? A malfunction in the software/system is an error that may cause components oF the system to fail to perform its required functions. In other words, if an error is encountered during the test it can cause malfunction. For example, incorrect data description, statements, input data, design, ete. Reasons Why Bugs Occur? 1. Lack of Communication: This is a key factor contributing to the development of software bug fixes. Thus, a lack of clarity in communication can lead to misunderstandings of what the software should or should not do. In many cases, the customer may not fully understand how the product should ultimately work, This is especially true if the software is designed for a completely new product. Such situations often lead to many misinterpretations from both sides. 2, Repeated Definitions Required: Constantly changing software requirements creates confusion and pressure in both software development and testing teams. Usually, adding a new feature or deleting an existing feature can be linked to other modules or software components. Observing such problems causes software interruptions. 3. Policy Framework Does Not Exist: Also, debugging a software component/software component may appear in a different or similar component. Lack of foresight can cause serious problems and increase the number of distractions. Addition, Design and redesign, UI integration, module integration, database management all add to the complexity of the software and the system as a whole, 4, Performance Errors: Significant problems with software design and architecture can cause problems for systems. Improved sofiware tends to make mistakes as programmers can also make mistakes. As a test tester, data/announcement reference errors, control flow errors, parameter errors, input/output errors, et. 5. Lots of Recycling: Resetting resources, redoing or discarding a fi hardware/software requirements may also affect the software. Assigning a new developer to a Page | 10 @ scanned with OKEN Scanner project in the middle of nowhere can cause software interruptions. This can happen if proper coding standards are not followed, incorrect coding, inaccurate data transfer, ete. Discarding part of existing code may leave traces on other parts ofthe software; Ignoring or deleting that code may cause software interruptions. In addition, critical bugs can occur especially with large projects, as it becomes difficult to pinpoint the location of the problem. Types of Software Testing Techni ues: ‘There are two main categories of software testing techniques: Static Testing Techniques are testing techniques that are used to find defects in an application under test without executing the code. Static Testing is done to avoid errors at an carly stage of the development cycle thus reducing the cost of fixing them. Dynamic Testing Techniques are testing techniques that are used to test the dynamic behaviour of the application under test, that is by the execution of the code base. The main purpose of dynamic testing isto test the application with dynamic inputs- some of which may be allowed as per requirement (Positive testing) and some are not allowed (Negative Testing) ‘Testing Techniques: Static Testing Techniques: {As explained earlier, Static Testing techniques are testing techniques that do not require the execution ofa code base. Static Testing Techniques are divided into two major categories: [Link] Reviews: Informal reviews are generally conducted without any formal setup. It is between peers. For Example- Two developers Testers review cach other's artifacts like coude/test cases. jegory where the author of work (code oF test case oF [Link]: Walkthrough is a ca document under review) Walks through what he/she has done and the logic behind it to the common understanding or for the intent of feedback. stakeholders to achieve that focuses solely on the technical aspects of the -ss or no focus on the identification of 3. Technical review: It is a review me document under review to achieve a consensus. It has: defects based on reference documentation. Technical experts like architects/chief designers are required to do the review. It can vary from Informal to fully formal [Link]: Inspection is the most formal category of reviews, Before the inspection, the document under review is thoroughly prepared before going for an inspection. Defects that are identified in the Inspection mecting are logged in the defect management tool and followed up until closure, The discussion on defects is avoided and a separate discussion phase is used for discussions, which makes Inspections a very effective form of review Data Flow: It means how the data tail is followed in a given program ~ How data gets accessed and modified as per the instructions in the program. By Data flow analysis, you can identify defects like a variable definition that never got used. Page | 11 TeHRPPHMAAOAAAHHHHHOOHCCOCE ECE E CE HY, @ scanned with OKEN Scanner Control Now: tt is the picture of how program instructions get executed ie. conditions, iterations, or loops. Ci “erations, or loops, Control flow analysis helps to identify defects such as Dead code ie. a code that ne ‘ver gets used under any condition. D: Pata Structure: It refers to the organization of data irrespective of code. The complexity of ta structures adds to the complexity of cove. Thus, it provides information on how to test the control low and data flow in a given code. namic Testing Techniques: Dynamic techniques are subdivided into three categories: 1. Structure-based Testing: These are also called White box techniques. Structure-based testing techniques are focused on how the code structure works and test accordingly. To understand Structure-based techniques, we first need to understand the concept of code coverage. Code Coverage is normally done in Component and Integration Testing. It establishes what code is covered by structural testing techniques out of the total code written. One drawback of code coverage is that- it does not talk about code that has not been written at all (Missed requirement), There are tools in the market that can help measure code coverage. There are mul le ways to test code coverage: 1. Statement coverage: Number of Statements of code exercised/Total number of statements. For Example, if a code segment has 10 lines and the test designed by you covers only 5 of them then we can say that statement coverage given by the test is 50%. 2. Decision coverage: Number of decision outcomes exercised/Total number of Decisions. For Example, Ifa code segment has 4 decisions (If conditions) and your test executes just 1, then decision coverage is 25% 3. Conditional/Multiple condition coverage: It has the aim to identify that each outcome of every logical condition in a program has been exercised. 2. Experience-Based Techniques: These are techniques for exccuting testing activities with the help of experience gained over the years. Domain skill and background are major contributors to this type of testing. These techniques are used majorly for UAT/business user testing. These work on top of structured techniques like Specification-based and Structure-based, and they complement them, Here are the types of experience-based techniques: Error guessing: It is used by a tester who has either very good experience in testing or with the application under test and hence they may know where a system might have a weakness. It eannot be fan effective technique when used stand-alone but is helpful when used along with structured techniques. Page | 12 @ scanned with OKEN Scanner 1. Exploratory testing: It is hands-on t coverage with mi to have maximum execution imal planning. The test design and execution are carried out in parallel without documenting the test design steps. The key aspect of this type of testing is the tester's learning about the strengths and weaknesses of an application under test, Similar to error uessing, it is used along with other formal techniques to be useful sting where the a 2. Specification-based Techniques: This includes both functional and non- It means creating and executing tests based on functional or non-functional specifications from the business. Its focus is on idemtifying defects corresponding to given specifications Here are the types of specification-based techniques functional techniques (i.e. qualit y characteristics), {- Equivalence partitioning: It is generally used together and can be applied to any level of ‘esting, The idea is to partition the input range of data into valid and non-valid sections such that one parition is considered “equivalent”. Once we have the partitions identified, it only Fequires us to test with any value in a given partition assuming that all values in the partition will behave the same, For example, ifthe input field takes the value between 1-999, then values between 1-999 will yield similar results, and we need NOT test with each the testing complet ue to call 2, Boundary Value Analysis (BVA): This analysis tests the boundaries of the range- both valid and invalid. In the example above, 0.1.99, and 1000 are boundaries that can be tested The reasoning behind this kind of testing is that more often than not, boundaries handled gracefully in the code. are not Decision Tables: These are a xood way to test the combination of inputs. It is also called -Fffect table, In layman’s language, one can structure the conditions applicable for the nent under test as a table and identify the outcomes against each one to reach an effective test. of them It should be taken into consideration that there are not too many combinations so the table becomes too big to be eflective. Take an example of a Credit Card that is issued if both credit score and salary limit are met. This can be illustrated in below decision table below Rule 1 Rule 2 | Rule 3 Rule 4 Credit Score Met Facse | FALSE | TRUE TRUE |_Salary Limit Met FALSE TRUE | FALSE TRUE Issue Credit Gard No No No Yes ‘ Page| 13, @ scanned with OKEN Scanner AAPPMAHODA®S SHH TTSCHHHHOOCHHE HONIG AH ae | Decision Table: 4, Use case-based Testing: This technique helps us to identify test cases that execute the system as a whole- ike an actual user (Actor), transaction by transaction. Use cases are sequence of steps that describe the interaction between the Actor and the system. They are not the system. This testing is most effective in mnditions of always defined in the language of the Actor, idemifying integration defects. Use case also defines any preconditions and postco the process flow. ATM example can be tested via use case: Happy 1 Ai insert Gard Flow 2 A: Enter PIN A: Actor 3 S: Validte PIN 'S: System 4 ‘S Allow to withdraw Use case-based Testing under test or a part of it can be fied ATM example above, We the State transition 5. State Transition Testing: It is used where an application v treated as FSM or finite state machine. Continuing the simpli can say that ATM flow has finite states and hence can be tested witht ue. There are 4 basic things to consider tecl States a system can achieve Events that cause the change of state ‘The transition from one state to another Outcomes of change of state be created to derive test conditions ~ both positive and negative A state event pair table Advantages of software testing techniques: State Transi Improves software quality and reliability ~ By using different testing techniques. software developers can identify and fix defects early in the development process, reducing the risk of failure or unexpected behaviour in the final product. @ scanned with OKEN Scanner GG agen a aa ere TC el lt Enhances user experience ~ Techniques like usability testing can help to identify usability issues and improve the overall user experience. ve increases confidence — By testing the software, developers, and stakeholders can hai : confidence thatthe software meets the requirements and works as intended. Facilitates maintenance — By identifying and fixing defects earl, testing makes it easier to maintain and update the software. Reduces costs — Finding and fixing defects early in the development process is less expensive than fixing them later in the life cycle. Disadvantages of software testing techniques: ‘Time-consuming ~ Testing can take a significant amount of time, particularly if thorough testing is performed. f Resource-intensive — Testing requires specialized skills and resources, which can be cexpens Limited coverage Testing can only reveal defects that are present in the test eases, and defects cam be missed. Unpredictable results ~ The outcome of testing is not always predictable, and defects can be hard to replicate and fix ‘ Delivery delays ~ Testing can delay the del expected or if significant defects are idemtified cry of the software if testing takes longer than q ‘Automated testing limitations - Automated testing tools may have limitations, such as difficulty in testing certain aspects of the software, and may require sig and updates. \ Ss Fig 1.1 Diagram of Bug Life Cycle Bug Report: Defect! Bug Name: A short headline describing the defect. It should be specific and accurate Defeet/Bug ID: Unique identification number for the defect. Pag @ scanned with OKEN Scanner 7) Defect Descripti ription: tion: Detailed description of the bug including the information of the module in which it ws : bi Was detected. It contains a detailed summary including the severity, priority, pected results vs actual output, etc 6 4 Severity: This describes the impact ofthe defect on the application under test. Priority: This is related to how urgent it is to fix the defect, Priority can be High’ Medium! Low based on the impact urgency at which the defect should be fixed. Reported By: Name/ ID of the tester who reported the bug. Reported On: Date when the defect is raised. Steps: These include detailed steps along with the screenshots with which the developer can reproduce the same defect. Status: New/ Open’ Active Fixed By: Name/ ID of the developer who fixed the defect. Data Closed: Date when the defect is closed. Factors to be Considered while Reporting a Bug: ‘The whole team should clearly understand the different conditions of the trauma before starting rescarch on the life cycle of the disability. To prevent future confusion, a flawed life cycle should be well documented. Make sure everyone who has any work related to the Default Life Cycle understands his or her best results work very clearly. Everyone who changes the status quo should be aware of the situation which should provide sufficient information about the nature of the feature and the reason for it so that everyone working on that feature can easily see the reason for that feature, 'A feature tracking tool should be carefully handled in the course of a defective life eycle work to ensure consistency between errors. MCQ Questions: 1. Which of the following is the correct order of phases in the Waterfall model? a) Requirements, Design, Implementation, Verification, Maintenance by Design, Requirements, Implementation, Maintenance, Verification ) Implementation, Design, Requirements, Maintenance, Verification 4) Verification, Implementation, Requirements, Design, Maintenance Answer: a) Requirements, Design, Implementation, Verification, Maintenance Vee ooo Ue ee Oe eo ee eee oo @ scanned with OKEN Scanner 2. In which SDLC model is the project developed in iterative eyeles? a) Wa fall Model b) Spiral Model ©) V-Model 4) Big Bang Model Answer: b) Spiral Model 3. Which SDLC model emphasizes risk analysis? a) Waterfall Model ») Incremental Model ©) Spiral Model 4) Agile Model Answer: ¢) Spiral Model 4. In the Agile model, which of the following is not a principle of Agile Manifesto? ) Customer collaboration over contract negotiation b) Following a plan over responding to change ) Individuals and interactions over processes and tools 4) Working software over comprehensive documentation Answer: b) Following a plan over responding to change 5. Which SDLC model is best suited for projects where requirements are expected to change frequently? a) Waterfall Model b) V-Model ) Agile Model 4) Big Bang Mode! Answer:e) Agile Model 6. Which of the following best describes the process of testing? a) Identifying and fixing defects b) Executing a program with the intent of findizg exrors c) Writing code to fix issues Page| 17 nono @ scanned with OKEN Scanner 1 1 4) None of the above Answer: b) Executing a program with the intent of finding errors 7. What is the main goal of debugging? 4) To verify that the system works according to the requirements b) To idemify, isolate, and fix the cause of a defect ©) To find as many defects as possible d) To write test cases Answer: b) To identify, isolate, and fix the cause of a defect 8. Which of the following is a type of testing performed without executing the code? 4) Unit testing b) Integration testing ©) Static testing «d) Dynamic testing Answer: ¢) Static testing 9. Which of the following activities is not a part of debugging? a) Ana yzing the error by Modifying the code ©) Identifying the error d) Writing user documentation Answer: d) Writing user documentation 10, Which testing level is primarily concerned with verifying that in components work as intended? a) System testing byIn jon testing ¢) Unit testing, 4) Acceptance testing Answer: ¢) Unit testing Page | 18 @ scanned with OKEN Scanner Avhich of the following fsa common cause of software bugs? uN nents 2) Ineorrect regi hy Coding ertors ©) Miscommunieation 4) All ofthe above: Anower: d) All ofthe above 12 Which type of bug occurs when the software does not specific conditions? a) Functional bug b) Performance bug ) Security bug 4) Usability bug Answer: a) Functional bug 13, What is a "regression bug’? ) A bug that occurs due to poor performance ) A bug that appears after a certain period of ne ©) A bug that reappears after it has been fixed in a previous version 4) A bug related to user interface design Answer: c) A bug that reappears after it has been fixed in a previous version 14. Which of the following (ools is commonly used for bug tracking? a) Microsoft Word ) Jira ¢) Photoshop 4d) Eclipse Answer: b) Jira 15, What is a ‘showstopper’ bug? ) A minor bug that does not affect functionalivy b) A bug that prevents the software from functioning perform as intended under Page |19 2OFAAnnnnnnnnaaneceecee @ scanned with OKEN Scanner eee QM he te t 4 (7 uy v vy ©) Ming that is related to user interface 1) A bug that is easy to fix Anowers by A hug that prevents the software fram functioning at all V6. Which of the following Is not a type of software testing? 8) Unit testing, 1) Integration testing ©) Build testing a) System testing, Answer: ¢) Build testing 17, What is the main objective of acceptance testing? 3) To test individual units of code b) To test the system's performance c) To verify that the system meets user requirements 4) To test the integration of different modules Answer: ¢) To verify that the system meets user requirements 18. Which type of testing is performed to determine the system's behavior under specific conditions, such as load or stress? a) Functional testing b) Usability testing ©) Performance testing 4) Security testing Answer: ¢) Performance testing 19, In which type of testing do testers have no knowledge of the internal workings of the application? a) White-box testing b) Black-box testing ©) Gray-box testing 4) Unit testing ‘Answer: b) Black-box testing Page |20 @ scanned with OKEN Scanner 20, Which testing method involves evaluating a product by simulating real-world conditions? [ a) Alpha testing le by) Beta testing. ie ©) Unit testing le 4) Integration testing c Answer: b) Beta testing © 21, Which design principle emphasizes that a class should have only one reason to 6 change? a) Open Closed Principle b) Single Responsibility Principle € ©) Liskov Substitution Principle ‘ 4) Interface Segregation Principle iH Answer: b) Single Responsibility Principle = 22. What docs the acronym SOLID stand for in software design? ¢ a) Simple, Object-Oriented, Light, Iterative, Design e 'b) Single Responsibility, Open/Closed, cov Substitution, Interface Segregation, e Dependency Inversion — ¢) Structured, Organized, Layered, Integrated, Documented = 4) Simple, Organized, Logical, Integrated, Detailed — Answer: b) Single Responsibility, Open/Closed, Liskov Substitution, Interface = Segregation, Dependency Inversion cc 23. Which design pattern ensures a class has only one instance and provides a global Point of access to it? cs a) Factory Pattern Ss - ios b) Singleton Pattern co ©) Observer Pattern 4) Decorator Pattern e. Answer: b) Singleton Pattern « e Page | 21 ¢ © @ scanned with OKEN Scanner — Pa ee We i A ot VYUUUOEUUEUYD YD Y 24. In which design pattern isan object created without exposing the creation logic 0 the client and refers to newly ereated objects through a common interface? a) Factory Pattern 1b) Builder Pattern ©) Prototype Pattern 4) Adapter Pattern Answer: a) Factory Pattern 25. Which principle of design states that software entities should be open for extension but closed for modification? a) Single Responsibility Principle b) Open/Closed Principle ¢) Liskov Substitution Principle 4) Dependency Inversion Principle Answer: b) Open/Closed Principle Page | 22 © scanned wit ith OKEN Scanner

You might also like