Sie sind auf Seite 1von 8

7.What is the MAIN benefit of designing tests early in the life cycle?

> 60% of the defects have already been made before coding/implementation has started. > The thought process of designing tests early int eh lifecycle helps to verify the test basis inconsistencies and omissions. > Their removal will increase the quality of the test basis and help to prevent defects from being introduced into the code. As we know that the later in the lifecycle defects are detected, the more expensive they are to fix. It is most cost effective to find and fix requirements defects at the requirements stage. Building the right software correctly gives a lower cost overall. The thought process of designing tests in the early lifecycle can help to prevent defects from being introduced into code. We some times refer to this as 'verifying the test basis via the test design'. The test basis includes documents like the requirements and design specification. According to ISTQB Requirement : A condition or capability needed by a user to solve a problem or acheive an objective that must be met or prossessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document. Test Basis : All documents from which the requirements of a component or system can be inferred. The documentation on which the test cases are based. If a document can be amended only by way of formal amendment procedure, then the test basis is called a frozen test basis. Test Case : A set of input values, execution preconditions, expected results and execution post cnditions, developed for a particular objective or test condition, such as to exercise a particular program path or to verify compliance with a specific requirement.

> Documents reviewed can help to prevents defects occuring in to the code. > Static analysis of code can identify defects in the cde and give a measure of complexity of the code. > Time invested in early life cycle test activities will reap many benefits * Quality of product and documentation improved * Defects found are relatively cheap to fix. * Fewer defects by reducing fault multiplication. There are different types of reviews we can carry out, but an objective of all types of reviews is to find defects. Time invested in early lifecycle test activities will reap many benefits: * Quality if product improved at all stages in the process * Reduce the number of faults to detect by reducing fault multiplication * Less rework at later development stages. * System implemented on time and to budget. ISTQB defines Review : An evaluation of the product or project status to ascertain discrepancies from planned results and to recommend improvements. Examples include management review, informal review, technical review, inspection, and walkthrough.

What is risk-based testing - What is RISK - Factors determining damage - Factors determining probability - A simple method to calculate risk - Risk management in test projects: Risks before, during and after the test - Some more stuff, if there is time Risk based testing is basically a testing done for the project based on risks. Risk based testing uses risk to prioritize and emphasize the appropriate tests during test execution. In simple terms Risk is the probability of occurrence of an undesirable outcome. This outcome is also associated with an impact. Since there might not be sufficient time to test all functionality, Risk based testing involves testing the functionality which has the highest impact and probability of failure. Risk-based testing is the idea that we can organize our testing efforts in a way that reduces the residual level of product risk when the system is deployed. Risk-based testing starts early in the project, identifying risks to system quality and using that knowledge of risk to guide testing planning, specification, preparation and execution. Risk-based testing involves both mitigation testing to provide opportunities to reduce the likelihood of defects, especially high-impact defects and contingency testing to identify work-arounds to make the defects that do get past us less painful. Risk-based testing also involves measuring how well we are doing at finding and removing defects in critical areas. Risk-based testing can also involve using risk analysis to identify proactive opportunities to remove or prevent defects through non-testing activities and to help us select which test activities to perform. The goal of risk-based testing cannot practically be a risk-free project. What we can get from risk-based testing is to carry out the testing with best practices in risk management to achieve a project outcome that balances risks with quality, features, budget and schedule.

18. What is the difference between a Bug and a Defect? Not all software defects are caused by coding errors. One common source of expensive defects is caused by requirement gaps, e.g., unrecognized requirements, that result in errors of omission by the program designer.[14] A common source of requirements gaps is nonfunctional requirements such as testability, scalability, maintainability, usability, performance, and security.

Error
An error is a mistake, misconception, or misunderstanding on the part of a software developer In the category of developer we include software engineers, programmers, analysts, and testers. For example, a developer may misunderstand a design notation, or a programmer might type a variable name incorrectly.

Faults (Defects)
A fault (defect) is introduced into the software as the result of an error. It is an anomaly in the software that may cause it to behave incorrectly, and not according to its specification. Faults or defects are sometimes called bugs. Use of the latter term triv - ializes the impact faults have on software quality. Use of the term defect is also associated with software artifacts such as requirements and design documents. Defects occurring in these artifacts are also caused by errors and are usually detected in the review process.

A human Programmatically

action

that mistake

produces leads

an

incorrect to

result. error.

bug: An informal word describing any of the above. Deviation from the expected result. A software bug is an error, flaw, mistake, failure, or fault in a computer program that prevents it from working as intended, or produces an incorrect result. Bugs arise from mistakes and errors, made by people, in either a program's source code or its design. It is said that there are bugs in all useful computer programs, but well-written programs contain relatively few bugs, and these bugs typically do not prevent the program from performing its task. A program that contains a large number of bugs, and/or bugs that seriously interfere with its functionality, is said to be buggy. Reports about bugs in a program are referred to as bug reports, also called PRs (problem reports), trouble reports, CRs (change requests), and so forth. Defect: Problem in algorithm leads to A defect is for something that normally works, but it has something out-of-spec.
What Is Defect Anything that does not perform as specified. This could be hardware, software, network, performance, format, or functionality.

failure.

What Is Bug A fault in a program which causes the program to perform in an unintended or unanticipated manner.

What is the difference between Software Testing & Debugging Testing activity is carried down by a team of testers, in order to find the defect in the software. Test engineers run their tests on the piece of software and if they encounter any defect (i.e. actual results

don't match expected results), they report it to the development team. Along with the nature of defect, testers also have to report at what point the defect occurred and what happened due the occurrence of that defect. All this information will be used by development team to DEBUG the defect. Debugging is the activity which is carried out by the development team (or developer), after getting the test report from the testing team about defect(s) (you may note defects can also be reports by the client). The developer then tries to find the cause of the defect, in this quest he may need to go through lines of code and find which part of code in causing that defect. After finding out the bug, he tries to modify that portion of code and then he rechecks if the defect has been finally removed. After fixing the bug, developers send the software back to testers.

Debugging


Testing

Debugging done in the development phase by the developers. In development phase developer fixes the bug (i.e)called debugging. Debugging-Fixing the identified Bugs. Debugging is the act of fixing the bugs that is reported by either the testing team or by the end users. Debugging: It is done by the Developer. It is nothing but fixing the developer.

Testing is conducted by the testers in testing phase. In Testing phase tester will finds the bug (i.e)called testing to improve the quality of the product. Testing-Locating/Identifying Bugs. Testing is the performed by tester with the intent of finding a bug in an application. Upon finding a bug the tester will be reporting it to development team. Testing: It is done by Tester.Testing is nothing but finding out the errors.

Explain agile model

AGILE MODEL OR AGILE METHODOLOGY :


Agile development methodology attempts to provide many opportunities to assess the direction of a project throughout the development life cycle. Agile methods break tasks into small increments with minimal planning and do not directly involve long-term planning. Iterations are short time frames that typically last from one to four weeks. Each iteration involves a cross functional team working in all functions: planning, requirements analysis, design, coding, unit testing, and acceptance testing. At the end of the iteration a working product is demonstrated to stakeholders. This minimizes overall risk and allows the project to adapt to changes quickly. An iteration might not add enough functionality to warrant a market release, but the goal is to have an available release at the end of each iteration. Multiple iterations might be required to release a product or new features.

Agile as the name refers implies something to do very quickly. Hence Agile Testing refers to validate the client requirements as soon as possible and make it customer friendly. As soon as the build is out, testing is expected to get started and report the bugs quickly if any found. As a Tester, you need to provide your thoughts on the client requirements rather than just being the audience at the other end. Emphasis has to be laid down on the quality of the deliverable in spite of short time-frame which will further help in reducing the cost of development and your feedback's will be implemented in the code which will avoid the defects coming from the end user. Advantages of Agile Methodology:

Agile first priority is to fulfill the customer need from beginning to end and continuous improvement to ad into valuable software. Agile allow change in requirements in the late in the development as well. Agile works on delivering software regularly interval i.e. from couple of weeks to couple of month based on project. Close, daily cooperation between business people and developers throughout the project. Key point is to trust, support and motivate individuals to get it projects build on time. Daily face-to-face conversation is key point in agile testing. This is most efficient & effective way of communication. Measuring progress by the amount of completed work.

Continually seeking excellence Harnessing change for competitive advantage Simplicity Self-organizing team come out with best architectures, requirements, and designs. Regular adaptation to changing circumstances with more effective way.

Portability Testing ortability Testing Portability testing includes the testing of Software with intend that it should be re-useable and can be moved from another Software as well. Following are the strategies that can be used for Portability testing.

Transferred installed Software from one computer to another. Building executable (.exe) to run the Software on different platforms.

Portability testing can be considered as one of the sub parts of System testing, as this testing type includes the overall testing of Software with respect to its usage over different environments. Computer Hardware, Operating Systems and Browsers are the major focus of Portability testing. Following are some pre-conditions for Portability testing:

Software should be designed and coded, keeping in mind Portability Requirements. Unit testing has been performed on the associated components. Integration testing has been performed. Test environment has been established.

Alpha Testing Beta Testing Alpha testing performed by Testers who are usually internal employees of the organization Beta testing is performed by Clients or End Users who are not employees of the organization Alpha Testing performed at developers site Beta testing is performed at client location or end user of the product Reliability and security testing are not performed in-depth Alpha Testing Reliability, Security, Robustness are checked during Beta Testing Alpha testing involves both the white box and black box techniques

Beta Testing typically uses black box testing Alpha testing requires lab environment or testing environment Beta testing doesnt require any lab environment or testing environment. Software is made available to the public and is said to be real time environment Long execution cycle may be required for Alpha testing Only few weeks of execution are required for Beta testing Critical issues or fixes can be addressed by developers immediately in Alpha testing Most of the issues or feedback is collected from Beta testing will be implemented in future versions of the product Alpha testing is to ensure the quality of the product before moving to Beta testing Beta testing also concentrates on quality of the product, but gathers users input on the product and ensures that the product is ready for real time users.

Advantages & Disadvantages



Advantages Beta Testing Reduces product failure risk via customer validation. Beta Testing allows a company to test post-launch infrastructure. Improves product quality via customer feedback Cost effective compared to similar data gathering methods Creates goodwill with customers and increases customer satisfaction Disadvantages Beta Testing Test Management is an issue. As compared to other testing types which are usually executed inside a company in a controlled environment, beta testing is executed out in the real world where you seldom have control. Finding the right beta users and maintaining their participation could be a challenge Advantages of Alpha Testing: Provides better view about the reliability of the software at an early stage Helps simulate real time user behavior and environment. Detect many showstopper or serious errors Ability to provide early detection of errors with respect to design and functionality Disadvantages of Alpha Testing: In depth functionality cannot be tested as software is still under development stage Sometimes developers and testers are dissatisfied with the results of alpha testing

White box testing levels

Overview[edit]
White-box testing is a method of testing the application at the level of the source code. The test cases are derived through the use of the design techniques mentioned above: control flow testing, data flow testing, branch testing, path testing, statement coverage and decision coverage as well as modified condition/decision coverage. White-box testing is the use of these techniques as guidelines to create an error free environment by examining any fragile code. These White-box testing techniques are the building blocks of white-box testing, whose essence is the careful testing of the application at the source [1] code level to prevent any hidden errors later on. These different techniques exercise every visible path of the source code to minimize errors and create an error-free environment. The whole point of white-box testing is the ability to know which line of the code is being executed and being able to identify what the [1] correct output should be.

Levels[edit]
1. Unit testing. White-box testing is done during unit testing to ensure that the code is working as intended, before any integration happens with previously tested code. White-box testing during unit testing catches any defects early on and aids in any defects that happen later on after the code is integrated with the rest of the application and therefore prevents any type of errors later [1] on. 2. Integration testing. White-box testing at this level are written to test the interactions of each interface with each other. The Unit level testing made sure that each code was tested and working accordingly in an isolated environment and integration examines the correctness of the behaviour in an open environment through the use of white-box testing for any interactions of [1] interfaces that are known to the programmer. 3. Regression testing. White-box testing during regression testing is the use of recycled white-box [1] test cases at the unit and integration testing levels.

Das könnte Ihnen auch gefallen