SEARCH
You are in browse mode. You must login to use MEMORY

   Log in to start

level: Level 1

Questions and Answers List

level questions: Level 1

QuestionAnswer
In this type of testing, the use of automated tool or any script is prohibited. What will happen here is that the tester takes over the role of an end-user and tests the software to identify any unexpected behavior or bug.Manual Testing
Crosby: "If I deliver all that is specified in the requirements document, then I will have delivered quality software." Juran: "one must satisfy the client’s needs, wants, and expectations that are not necessarily described in the requirements documentation."Software Quality
________ is recognized differently depending on each perspective, including that of the clients, maintainers, and users. Sometimes, it is necessary to differentiate between the client, who is responsible for acquiring the software, and the users, who will ultimately use it.Software quality
A set of activities that define and assess the adequacy of software processes to provide evidence that establishes confidence that the software processes are appropriate for and produce software products of suitable quality for their intended purposes.Software Quality Assurance
Prototyping affords both the engineer and the user a chance to “test drive” software to ensure that it is, in fact, what the user needs.Software Quality Assurance through Prototyping
________ is the process of developing a trial version of a system (a prototype) or its components or characteristics in order to clarify the requirements of the system or to reveal critical design considerations.Prototyping
Advantages of Prototype Model-Users are actively involved in the development -the users get a better understanding of the system being developed. -Errors can be detected much earlier. -Quicker user feedback is available leading to better solutions -Missing functionality can be identified easily. -Confusing or difficult functions can be identified. -Requirements validation, Quick implementation of, incomplete, but functional application.
Disadvantages of Prototype model-Leads to implementing and then repairing way of building systems. -May increase the complexity of the system as scope of the system may expand beyond original plans. -Incomplete application may cause application not to be used as the full system was designed. -Incomplete or inadequate problem analysis.
When to use Prototype model-When the desired system needs to have a lot of interaction with the end users -Online systems, web interfaces have a very high amount of interaction with end users -Prototyping ensures that the end users constantly work with the system and provide a feedback which is incorporated in the prototype to result in a useable system.
_________ is a systems development method in which a prototype is built, tested and then reworked as necessary until an acceptable outcome is achieved from which the complete system or product can be developed.Prototyping Model
A prototyping model starts with requirement analysis. In this phase, the requirements of the system are defined in detail. During the process, the users of the system are interviewed to know what is their expectation from the system.Step 1. Requirements Gathering and Analysis
This model works best in scenarios where not all of the project requirements are known in detail ahead of time. It is an iterative, trial-and-error process that takes place between the developers and the users.Prototyping Model
The second phase is a preliminary design or a quick design. In this stage, a simple design of the system is created. However, it is not a complete design. It gives a brief idea of the system to the user. The quick design helps in developing the prototype.Step 2: Quick Design
In this phase, an actual prototype is designed based on the information gathered from quick design. It is a small working model of the required system.Step 3: Build a Prototype
In this stage, the proposed system is presented to the client for an initial evaluation. It helps to find out the strength and weakness of the working model. Comment and suggestion are collected from the customer and provided to the developer.Step 4: Initial User Evaluation
If the user is not happy with the current prototype, you need to refine the prototype according to the user's feedback and suggestions. This phase will not over until all the requirements specified by the user are met. Once the user is satisfied with the developed prototype, a final system is developed based on the approved final prototype.Step 5: Refining prototype
Once the final system is developed based on the final prototype, it is thoroughly tested and deployed to production. The system undergoes routine maintenance for minimizing downtime and prevent large-scale failures.Step 6: Implement Product and Maintain
This method involves exploring ideas by quickly developing a prototype based on preliminary requirements that is then revised through customer feedback. The name ___________ refers to the fact that each prototype is completely discarded and may not be a part of the final product.Rapid throwaway
This approach uses a continuous, working prototype that is refined after each iteration of customer feedback. Because each prototype is not started from scratch, this method saves time and effortEvolutionary
This technique breaks the concept for the final product into smaller pieces, and prototypes are created for each one. In the end, these prototypes are merged into the final product.Incremental
This prototype model is used specifically for web development. All web prototypes are built in an HTML format with a services layer and are then integrated into the final product.Extreme
Advantages of the Prototyping Model-Users are actively involved in development. Therefore, errors can be detected in the initial stage of the software development process. -Missing functionality can be identified, which helps to reduce the risk of failure as Prototyping is also considered as a risk reduction activity. -Helps team member to communicate effectively -Customer satisfaction exists because the customer can feel the product at a very early stage.
Disadvantages of the Prototyping Model-Prototyping is a slow and time taking process -The cost of developing a prototype is a total waste as the prototype is ultimately thrown away. -Prototyping may encourage excessive change requests. -Sometimes customers may not be willing to participate in the iteration cycle for the longer time duration -There may be far too many variations in software requirements when each time the prototype is evaluated by the customer.
In software engineering, the term _________ is to review any work done by trained people, they inspect the software to find out the positive and negative aspects of a program.Software Review
It is a complete process that results in carefully examining a software product in a meeting or at any event.Software Review
_________ is an important part of SDLC that assists software engineers in validating the quality, functionality, and other vital features and components of the software.Software review
Objectives of Software Review1. To improve the productivity of the development team. 2. To make the testing process time and cost effective. 3. To make the final software with fewer defects. 4. To eliminate the inadequacies.
Process of Software ReviewEntry Evaluation | Management Preparation | Review Planning | Preparation | Examination and Exit Evaluation
Types of Software Reviews1. Software Peer Review 2. Software Management Review 3. Software Audit Review
Is the process of assessing the technical content and quality of the product and it is usually conducted by the author of the work product along with some other developers.Software Peer Review
Is performed in order to examine or resolve the defects in the software, whose quality is also checked by other members of the team.Software Peer Review
Types of Software Peer Review1. Code Review 2. Pair Programming 3. Walkthrough 4. Technical Review 5. Inspection
Computer source code is examined in a systematic way.Code Review
It is a code review where two developers develop code together at the same platform.Pair Programming
Members of the development team is guided by author and other interested parties and the participants ask questions and make comments about defects.Walkthrough
A team of highly qualified individuals examines the software product for its client’s use and identifies technical defects from specifications and standards.Technical Review
In inspection the reviewers follow a well-defined process to find defects.Inspection
Evaluates the work status. In this section decisions regarding downstream activities are taken.Software Management Review
Is a type of external review in which one or more critics, who are not a part of the development team, organize an independent inspection of the software product and its processes to assess their compliance with stated specifications and standards. This is done by managerial level people.Software Audit Review
Advantages of Software Review• Defects can be identified earlier stage of development (especially in formal review). • Earlier inspection also reduces the maintenance cost of software. • It can be used to train technical authors. • It can be used to remove process inadequacies that encourage defects.
Was developed by IBM in the early 1970s, when it was noticed that the testing was not enough sufficient to attain high quality software for large applications.Software Inspection
Is used to determine the defects in the code and remove it efficiently. This prevents defects and enhances the quality of testing to remove defects. This software inspection method achieved the highest level for efficiently removing defects and improving software quality.Inspection
Was developed in the mid-1970s, later extended and revised. The process must have an entry criterion that determines whether the inspection process is ready to begin. this prevents incomplete products from entering the inspection process. Entry criteria can be interstitial with items such as “The Spell-Document Check”.Software Inspection Process
Stages in Software Inspection Process1. Planning 2. Overview Meeting 3. Preparation 4. Inspection Meeting 5. Rework 6. Follow Up
The moderator plans the inspection.Planning
The background of the work product is described by the author.Overview Meeting
The examination of the work product is done by inspector to identify the possible defects.Preparation
The reader reads the work product part by part during this meeting and the inspectors the faults of each part.Inspection Meeting
After the inspection meeting, the writer changes the work product according to the work plans.Rework
The changes done by the author are checked to make sure that everything is correct.Follow Up
Are two separate bugs that interact: you trip going downstairs, and when you reach for the handrail it comes off in your hand. - Paul Graham (2001)Compound bugs
Our objective with Inspections is to reduce the Cost of Quality by finding and removing defects earlier and at a lower cost. While some testing will always be necessary, we can reduce the costs of test by reducing the volume of defects propagated to test. - Ron Radice (2002)Code Reviews and Inspection
Software Quality from User's Perspective• Correctness • Usability • Reliability • Security • Adaptability
The software has to work, period.Correctness
It has to be easy to learn and easy to use.Usability
It has to stay up and be available when you need it.Reliability
The software has to prevent unauthorized access and protect your data.Security
It should be easy to add new features.Adaptability
Software Quality from Developer's Perspective• Maintainability • Portability • Readability • Understandability • Testability
It has to be easy to make changes to the softwareMaintainability
It has to be easy to move the software to a different platform.Portability
Many developers won’t admit this, but you do need to be able to read the code.Readability
The code needs to be designed in such a way that a new developer can understand how it all hangs together.Understandability
Well, at least the testers think your code should be easy to test. Code that’s created in a modular fashion, with short functions that do only one thing, is much easier to understand and test than code that is all just one big main() functionTestability
Software Quality Assurance (SQA) has three legs to it:• Testing • Debugging • Reviews
Finding the errors that surface while your program is executing, also known as dynamic analysis.Testing
Getting all the obvious errors out of your code—the ones that are found by testing it.Debugging
Finding the errors that are inherently in your code as it sits there, also known as static analysis.Reviews
Testing alone is not effective, it will only find errors about 50% or so in the program. Adding some type of code review in testing regimen, to find errors in code, can bring the percentage up to 93-99%. Three types of reviews are typically done: ________, _________, ________.Walkthroughs, Reviews, and Inspections
________ also known as desk checks or code reads, are the least formal type of a review. _________ are normally used to confirm small changes to code, say a line or two, that you’ve just made to fix an error.Walkthroughs
This is somewhat more formal than a walkthrough._______ are what most software developers do.Code Review
You should always do a _______ if you’ve changed a substantial amount of code, or if you’ve added more than just a few lines of new code to an existing program.Code review
Attendees of code reivew• The moderator of the code review is usually the author. • There should be one or more developers at the meeting, someone who’s working on the same project as the author • There should be a tester at the code review. • Finally, there should be an experienced developer present who’s not on the same project as the author.
________ are real meetings.Code reviews
________ are not allowed at code reviews.Managers
_________ are the most formal type of review meetingCode inspections
________ can be used to review planning documents, requirements, designs, or code, in short, any work product that a development team produces.Inspections
________ are typically used by larger organizations because they take more training, time, and effort than walkthroughs or code reviews. They’re also used for mission- and safety-critical software where defects can cause harm to users.Inspections
Code inspections criteria• Inspections use checklists of common error types to focus the inspectors. • The focus of the inspection meeting is solely on finding errors; no solutions are permitted • Reviewers are required to prepare beforehand; the inspection meeting will be canceled if everyone isn’t ready. • Each participant in the inspection has a distinct role. • All participants have had inspection training
Inspection Roles• Moderator • Author • Reader • Reviewers • Recorder • Managers
Gets all the materials from the author, decides who the other participants in the inspection should be, and is responsible for sending out all the inspection materials and scheduling and coordinating the meeting.Moderator
Distributes the inspection materials to the moderator. If an Overview meeting is required, the author chairs it and explains the overall design to the reviewers.Author
_____ is supposed to paraphrase the code, not read it. Paraphrasing implies that the _____ has a good understanding of the project, its design, and the code in question.Reader
Can be anyone with an interest in the code who is not the author. Normally, ________ are other developers from the same project.Reviewers
Is one of the reviewers and is the one who takes notes at the inspection meeting. The _______ merges the defect lists of the reviewers and classifies and records errors found during the meeting.Recorder
As with code reviews, _______ aren’t invited to code inspections.Managers
Inspection Phase and ProceduresPlanning The Overview Meeting Preparation The Inspection Meeting The Inspection Report Rework and Follow-up
The moderator organizes and schedules the meeting and picks the participants. The moderator and the author get together to discuss the scope of the inspection materialsPlanning
Is necessary if several of the participants are unfamiliar with the project or its design and they need to come up to speed before they can effectively read the code.Overview Meeting
Each reviewer reads the work to be inspected. _______ should take no more than two or three hoursPreparation
The __________ should last no more than two hours. If there is any material that has not been inspected at the end of that time, a new meeting is scheduled.Inspection meeting
_________ to all participants. The central part of the report is the defects that were found in the code at the meeting.Inspection report
The author fixes all the severity 1 through 3 defects found during the meeting. If enough defects were found, or if enough refactoring or code changes had to occur, then another Inspection is scheduled. Regardless of how much code is changed, the moderator must check all the changes as part of the follow-upRework and Follow-up
(MCR)Modern Code Review
________ is the manual assessment of source code by humans, mainly intended to identify defects and quality problems.Code review
A lightweight variant of the code inspections investigated since the 1970s, prevails today both in industry and open-source software (OSS) systems.Modern Code Review (MCR)
Code Review ApproachesThe Email Thread Pair Programming Over-The-Shoulder Tool Assisted
As soon as a given piece of code is ready for review, the file is sent around to the appropriate colleagues via email for each of them to review as soon as their workflow permits.The Email Thread
As one of the hallmarks of Extreme Programming (XP), this approach to writing software puts developers’ side by side (at least figuratively), working on the same code together and thereby checking each other’s work as they go.Pair Programming
As there is arguably no simpler and more efficient way to review code than through software-based code review tools, some of which are browser-based or seamlessly integrate within a variety of standard IDE and SCM development frameworks.Tool Assisted
_________ is a form of testing in which various subsystems are combined to test the entire system as a complete entity. It can also be stated as the process of verifying and validating that a software or application is bug free and it meets the technical requirements.Software testing
This is a set of tasks that ensure that the software implements a specific function. A question that will popped up here is, are we building the product right?Verification
A different set of tasks that ensure that the software has been built is traceable to customer requirements. The question here is, are we building the right product.Validation
Different Types of Software TestingManual Testing Automation Testing Dynamic Testing
2 forms of dynamic testingBlack-box White-box
In this type of testing, the use of automated tool or any script is prohibited. What will happen here is that the tester takes over the role of an end-user and tests the software to identify any unexpected behavior or bug.Manual Testing
This testing is also known as Test Automation, the tester writes scripts and uses another software to test the product. It involves the automation of a manual process. Automation testing is used to re-run the test scenarios that were performed manually, quickly, and repeatedly.Automation Testing
Software is developed in units called subroutines or programs. These units, in turn, are combined to form large systems.Dynamic Testing
his testing involves viewing the software unit as a device that has expected input and output behaviors but whose internal workings are unknownBlack-box
A test that treats the software unit as a device that has expected input and output behaviors but whose internal workings, unlike the unit in blackbox testing, are known.White-box
Other types of Software TestingStatic testing Integration testing System testing User acceptance testing Unit Testing Regression Testing Smoke Testing Alpha Testing Beta Testing Stress Testing Performance Testing Object-Oriented Testing
Special software programs called static analyzers are run against new code. Rather than reviewing input and output, the static analyzer looks for suspicious patterns in programs that might indicate a defectStatic testing
The software units are combined into an integrated subsystem that undergoes rigorous testing to ensure that the linkages among the various subsystems work successfullyIntegration testing
The various subsystems are combined to test the entire system as a complete entity.System testing
Independent testing is performed by trained end users to ensure that the system operates as they expect.User acceptance testing
It focuses on the smallest unit of software design. In this, we test an individual unit or group of interrelated units.Unit Testing
Every time a new module is added leads to changes in the program. This type of testing makes sure that the whole component works properly even after adding components to the complete program.Regression Testing
This test is done to make sure that software under testing is ready or stable for further testing. It is called a _______ as the testing an initial pass is done to check if it did not catch the fire or smoke in the initial switch on.Smoke Testing
This is a type of validation testing. It is a type of acceptance testing which is done before the product is released to customers.Alpha Testing
The beta test is conducted at one or more customer sites by the end-user of the software. This version is released for a limited number of users for testing in a real-time environment.Beta Testing
In this, we give unfavorable conditions to the system and check how they perform in those conditions.Stress Testing
It is designed to test the run-time performance of software within the context of an integrated system. It is used to test the speed and effectiveness of the program.Performance Testing
This testing is a combination of various testing techniques that help to verify and validate object-oriented software.Object-Oriented Testing
Object-oriented testing is done in the following manner:-Testing of Requirements -Design and Analysis of Testing -Testing of Code -Integration testing -System testing -User Testing
Steps in test process1. Planning and control 2. Analysis and Design 3. Implementation and Execution 4. Evaluating Exit Criteria and Reporting 5. Test Closure Activities
Involves creating a document that contains the overall approach and test objectives. It involves reviewing the test basis, identifying the test conditions based on analysis of test items, writing test cases and Designing the test environment.Test planning
Is the activity of comparing actual progress against the plan, and reporting the status, including deviations from the plan. It involves taking actions necessary to meet the mission and objectives of the project.Control
The test basis is the information on which test cases are based, including the requirements, design specifications, product risk analysis, architecture and interfaces.Analysis and Design
Test execution involves actually running the specified test on a computer system either manually or by using an automated test tool. One of the major tasks here is to create test suites from test cases for efficient test execution.Implementation and Execution
Is a collection of test cases that are used to test a software programTest suite
Is a process defining when to stop testing. It has the following major tasks, such as assessing if more test is needed or if the exit criteria specified should be changed, and writing a test summary report for stakeholdersEvaluating exit criteria
Pass percentage exit criteria90%>
Are done when software is ready to be delivered. It has the following major tasks, such as checking which planned deliverables are actually delivered, finalizing and archiving testware such as scripts, and evaluating how the testing went and learn lessons for future releases and projects.Test Closure Activites
Is a software testing technique by means of which individual units of software i.e., group of computer program modules, usage procedures and operating procedures are tested to determine whether they are suitable for use or not.Unit Testing
Objectives of unit testing1. to isolate a section of code 2. to verify the correctness of code 3. test every function and procedure 4. fix bug early and save cost 5. to help developers understand the code base 6. help for code reuse
2 types of unit testingManual and Automated
Advantages of Unit testing1. allows developers to learn what functionality is provided by a unit and basic understanding of the unit API 2. allows the programmer to refine code and make sure the module works properly 3. enables to test parts of the project without waiting for others to be completed
Is the process in which test cases are written before the code that validates those cases. It depends on repetition of a very short development cycle.Test Driven Development (TDD)
Sequence of TDD1. add a test 2. run all the test cases 3. write the code that passes the test case 4. run the test cases 5. refactor the code 6. repeat the steps again and again
Create a test case and make it failRed
Make the test case pass by any meansGreen
Change the code to remove duplicate/redundancyRefractor
Benefits of TDD1. constant feedback 2. quality of design increases 3. safety net against the bugs 4. application actually meets the requirements 5. short development lifecycle
Includes all of the steps, processes, and activities that are required to make a software system or update available to its intended users.Software deployment
Refers to the stages of development for a piece of computer software, whether it is released as a piece of physical media, online, or as a web-based application.Software Release (cycle)
Developers must gather all of the code that will be deployed along with any other libraries, configuration files or resources needed for the application to function.Preparation
Before an update can be pushed to the live environment, it should be deployed to a test server where it can be subjected to a pre-configured set of automated tests.Testing
Is a technique in which automated Unit test are used to drive the design and free decoupling of dependencies.Test Driven Development
Enable developers to track progress on their projects, and manage changes. Constant integration and deployment may be utilized to deploy software as changes are done, giving seamless updates for end users.Software deployment tools
Sample of software deployment toolsBamboo TeamCity AWS CodeDeploy Octopus Deploy
________ is not the last stage of the software development life cycle. ___________ is the final step of the life cycle.Deployment, Maintenance