Anda di halaman 1dari 7

ASSIGNMENT NO-1 OF SOFTWARE TESTING & QUALITY ASSURANCE

SUBMITTED TO: Miss Amandeep Kaur

SUBMITTED BY: EKTA THAKUR MBA (IT) Q3004 Reg no. -11006419

Q1. Start the Windows calculator. Type 5, 00,000 - 1,000 = (The comma is important). Look at the result. Is this a bug? If yes why if not justify.
In computer technology, a bug is a coding error, mistake, and fault in a computer program. Windows Calculator, commonly known as Calculator from the application's title bar, is a calculation application included in all versions of the Microsoft Windows operating system. It can be activated by the command "calc" on most Windows systems. From the diagram we can see window calculator dont have any option of commas (,).So according to me its a bug because entering a comma in calculation is not possible.

Q2 Elaborate the relation between effectiveness of testing with other phases of software development. Verify?
Software testing can be stated as the process of validating and verifying that a software program/application/product: 1. meets the requirements that guided its design and development; 2. works as expected; and 3. Can be implemented with the same characteristics. Testing needs to be done on any IT solution or system which is built. 1. Developers should perform unit testing on the code they have developed. 2. System testing should be performed when all of the units of code have been implemented 3. User acceptance testing should be done when the solution is integrated to ensure it is usable. Commonly, Business Analysts define Use Cases in the requirements definition phase of a project, these Use Cases are used during testing to ensure the system behaves as per the requirements. SDLC is acronym for Software Development Life Cycle this includes all the stages of software development including Testing. STLC is acronym for Software Testing Life Cycle this includes different activities performed as part of Software Testing.

Q 3 How can you combine feature of code and fix model and waterfall model to get a better output while implementing a project? Also give an appropriate answer to support your answer?
Traditional process models are the code and fix model, the waterfall model and the spiral models. The code and fix model is a two-way phase model. The first phase of the model is writing the code, and the second phase is fixing it. The downfall of this model is that the code becomes hard to fix over time. In addition, this model does not give any room for future enhancements. This model is still used because, in real world applications the time required to identify and fix the problem is usually very limited, which does not spare any time for analysis and redesign. The waterfall model is a sequential design process, often used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation and Maintenance. The waterfall development model originates in the manufacturing and construction industries: highly structured physical environments in which after-the-fact changes are prohibitively costly, if not impossible. Since no formal software development methodologies existed at the time, this hardware-oriented model was simply adapted for software development.

The unmodified "waterfall model". Progress flows from the top to the bottom, like a waterfall When to use the Waterfall Model Requirements are very well known Product definition is stable Technology is understood New version of an existing product Porting an existing product to a new platform

Q4 is it possible to have High Quality and Low-Reliability Product? What might an Example be?
Yes, it is possible to have High-Quality and Low-Reliability Product but it depends on the customers expectations for quality. Example is a high performance sports car that has high quality (fast acceleration, style, etc) but are notoriously unreliable (often breaking down and expensive to repair)

Q5.If you are testing a programs ability to print to Printer. What generic test-to-fail test cases might be appropriate?
1. Attempt to print with no paper and with jammed paper. 2. Take printer offline, 3. unplug the power, 4. disconnect printer cable,
5. Printing with low ink or toner or with a missing cartridge. 6. Look in the manual and see what errors its supposed to provide and attempt to produce

them.

Q6. Taking a real life example compare and contrast two models Waterfall and Spiral? Write the situation in which it is difficult to use these models?

The waterfall model the process goes to the next step after completion of the previous step as first requirement then design then coding then implementation then maintenance but here is no end user feedback taken to consideration any change in SRS will result to start work for first step and goes step by step again. But in case of Spiral model for each and every step there is testing for that step carry on simultaneously after finishing that step so that it will easy to recover any error and fix it there. In this model we dont have to start work from beginning In the water fall model the process flows from top to bottom like a flow of water. But any new changes cannot be incorporated in the middle of the project development. Whereas the spiral model is best suited for projects associated with risks. In waterfall method Clint and software developer well known about the problem. Whereas in the spiral model software developer does not aware about the actual problem. Waterfall model is a document driven process. While spiral model does not requires the document.

Q7. Software Testing is a tradeoff between Quality, time & budget. Verify.
The purpose of testing can be quality assurance, verification and validation, or reliability estimation. Testing can be used as a generic metric as well. Correctness testing and reliability testing are two major areas of testing. Software testing is a trade-off between budget, time and quality. Testing is usually performed for the following purposes:

To improve quality.

As computers and software are used in critical applications, the outcome of a bug can be severe. Bugs can cause huge losses. Quality means the conformance to the specified design requirement. Being correct, the minimum requirement of quality, means performing as required under specified circumstances. Debugging, a narrow view of software testing, is performed heavily to find out design defects by the programmer.

For Verification & Validation

Testing can serve as metrics. It is heavily used as a tool in the Verification & Validation process. Testers can make claims based on interpretations of the testing results, which either the product works under certain situations, or it does not work. We can also compare the quality among different products under the same specification, based on results from the same test. We cannot test quality directly, but we can test related factors to make quality visible. Quality has three sets of factors -- functionality, engineering, and adaptability. These three sets of factors can be thought of as dimensions in the software quality space. Each dimension may be broken down into its component factors and considerations at successive level of detail. Good testing provides measures for all relevant factors. The importance of any particular factor varies from application to application. Any system where human lives are at stake must place extreme emphasis on reliability and integrity. Tests with the purpose of validating the product works are named clean tests, or positive tests. The drawbacks are that it can only validate that the software works for the specified test cases. Dirty tests, or negative tests, refer to the tests aiming at breaking the software, or showing that it does not work. A piece of software must have sufficient exception handling capabilities to survive a significant level of dirty tests.

For reliability estimation

Software reliability has important relations with many aspects of software, including the structure, and the amount of testing it has been subjected to. Based on an operational profile an estimate of the relative frequency of use of various inputs to the program, testing can serve as a statistical sampling method to gain failure data for reliability estimation.

Q8. Name several tasks that should be performed before a programmer writing first line of code?
Tasks that should be performed before a programmer writing first line of code are:
1. Understand Your Requirements: The first step for becoming an effective programmer

is to ensure that you have to spending your time wisely. e.g.;-Establish the interface 2. Keep It Real Keep your software running in as close to a shipping state as possible. Use Real Data Use Real Builds

3. Understand Your Code Life is full of wonderful mysteries, but your code is not the place for them. You don't have to know how your car works - if the engine starts making strange noises, you drop it off the mechanic. When it comes to your code, if you don't understand how it works, or doesn't work, no one will.

Code with Style Cut-and-Paste: The opposite of stylish programming is cut-and-paste. Grab some code from somewhere that is supposed to do something like what you want, Keep it Clean Full Warning: Ignore compiler and runtime warnings at your own peril. They are called "warnings" for a reason.

4. Continuous Education
You have to learn and practice and make some mistakes. And you don't necessarily have to rely on corporate training or going back to school - there are plenty of (inter)national and local professional groups, books, and of course, the Internet.

Anda mungkin juga menyukai