computer techinical questions

Upload: saraveluh

Post on 09-Apr-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 Computer techinical questions

    1/30

    Manual Software Testing Interview Questions and Answers

    As a software tester the person should have certain qualities, which areimperative. The person should be observant, creative, innovative,

    speculative, patient, etc. It is important to note, that whe n you opt for

    manual testing, it is an accepted fact that the job is going to be tediousand laborious. Whether you are a fresher or experienced, there are certain

    questions, to which answers you should know.

    What is a test case?Find the answer to this question in the article titled test cases.

    Explain the bug life cycle in detail.This is one of the most commonly asked interview questions, hence this

    question is always a part of software testing interview questions and

    answers for experienced as well as freshers. The bug life cycle is thestages the bug or defect goes through before it is fixed, deferred orrejected. Read in detail on bug life cycle.

    What are the phases of STLC?

    Like there are different phases of the software development life cycl e,

    there are different phases of software testing life cycle as well. Readthrough software testing life cycle for more explanation.

    What is regression testing?

    Regression testing is the testing of a particular component of the softwareor the entire software after modifications have been made to it. The aimof regression testing is to ensure new defects have not been introduced in

    the component or software, especially in the areas where no changes havebeen made. In short, regression testing is the test ing to ensure nothing haschanged, which should not have changed due to changes made.

    Explain stress testing.

    Find the answer to this question in this article on stress testing.

    What is a Review?A review is an evaluation of a said product or project status to ascertainany discrepancies from the actual planned results and to recommend

    improvements to the said product. The common examples of reviews areinformal review or peer review, technical review, inspection,

    walkthrough, management review. This is one of the manual testinginterview questions.

  • 8/8/2019 Computer techinical questions

    2/30

    What are the different types of software testing?There are a number of types of software testing which you will learn inthe preceding link.

    Explain in short, sanity testing, adhoc testing and smoke testing.Sanity testing is a basic test, which is conducted if all the components of

    the software can be compiled with each other without any problem. It isto make sure that there are no conflicting or multiple functions or global

    variable definitions have been made by different developers. It can alsobe carried out by the developers themselves.

    Smoke testing on the other hand is a testing methodology used to coverall the major functionality of the application without getting into the finer

    nuances of the application. It is said to be the main functionality oriented

    test.

    Ad hoc testing is different than smoke and sanity testing. This term is

    used for software testing, which is performed without any sort ofplanning and/or documentation. These tests ar e intended to run only once.

    However in case of a defect found it can be carried out again. It is also

    said to be a part of exploratory testing.

    What are stubs and drivers in manual testing?

    Both stubs and drivers are a part of incremental testing. Ther e are two

    approaches, which are used in incremental testing, namely bottom up andtop down approach. Drivers are used in bottom up testing. They aremodules, which test the components to be tested. The look of the drivers

    is similar to the future real modules.

    A skeletal or special purpose implementation of a component, which is

    used to develop or test a component, that calls or is otherwise dependenton it. It is the replacement for the called component.

    Explain priority, severity in software testing.

    Priority is the level of business importance, which is assigned to a defectfound. On the other hand, severity is the degree of impact, the defect canhave on the development or operation of the component or the system.

  • 8/8/2019 Computer techinical questions

    3/30

    Explain the waterfall model in testing.Waterfall model is a part of software development life cycle, as well assoftware testing. It is one of the first models to be used for software

    testing.

    Tell me about V model in manual testing.

    V model is a framework, which describes the software development lifecycle activities right from requirements specification up to software

    maintenance phase. Testing is integrated in each of the phases of themodel. The phases of the model start with user requirements and are

    followed by system requirements, global design, detailed design,implementation and ends with system testing of the entire system. Eachphase of model has the respective testing activity integrated in it and is

    carried out parallel to the development activities. The four test lev els used

    by this model include, component testing, integration testing, systemtesting and acceptance testing.

    Difference between bug, error and defect.Bug and defect essentially mean the same. It is the flaw in a component

    or system, which can cause the component or system to fail to perform its

    required function. If a bug or defect is encountered during the executionphase of the software development, it can cause the component or thesystem to fail. On the other hand, an error is a human error, which gives

    rise to incorrect result. You may want to know about, how to log a bug

    (defect), contents of a bug, bug life cycle, and bug and statuses usedduring a bug life cycle, which help you in understanding the terms bugand defect better.

    What is compatibility testing?Compatibility testing is a part of non-functional tests carried out on the

    software component or the entire software to evaluate the compatibility ofthe application with the computing environment. It can be with the

    servers, other software, computer operating system, different webbrowsers or the hardware as well.

    What is integration testing?One of the software testing types, where tests are conducted to test

    interfaces between components, interactions of the different parts of thesystem with operating system, file system, hardware and between

    different software. It may be carried out by the integrator of the system,but should ideally be carried out by a specific integration tester or a testteam.

  • 8/8/2019 Computer techinical questions

    4/30

    Which are the different methodologies used in software testing?Refer to software testing methodologies for detailed information on thedifferent methodologies used in software testing.

    Explain performance testing.It is one of the non-functional type of software testing. Performance of a

    software is the degree to which a system or a component of systemaccomplish the designated functions within given constraints regarding

    processing time and throughput rate. Therefore, performance testing isthe process to test to determine the performance of a software.

    Explain the testcase life cycle.On an average a test case goes through the following phases. The first

    phase of the testcase life cycle is identifying the test scenarios either from

    the specifications or from the use cases designed to develop the system.Once the scenarios have been identified, the test cases apt for thescenarios have to be developed. Then the test cases are reviewed and the

    approval for those test cases have to be taken from the concernedauthority. After the test cases have been approved, they are executed.

    When the execution of the test cases start, the results of the tests have to

    be recorded. The test cases which pass are marked accordingly. If the testcases fail, defects have to be raised. When the defects are fixed the failedtest case has to be executed again.

    Explain equivalence class partition.It is either specification based or a black box technique. Gatherinformation on equivalence partitioning from the article on equivalence

    partitioning.

    Explain statement coverage.

    It is a structure based or white box technique. Test coverage measures ina specific way the amount of testing performed by a set of tests. One of

    the test coverage type is statement coverage. It is the percentage ofexecutable statements which have been exercise by a particular test suite.

    The formula which is used for statement coverage is:

    Statement Coverage = Number of statements exercised

    Total number of statements * 100%

    What is acceptance testing.Refer to the article on acceptance testing for the answer.

  • 8/8/2019 Computer techinical questions

    5/30

    Explain compatibility testing.The answer to this question is in the article on compatibility testing.

    What is meant by functional defects and usability defects in general?

    Give appropriate example.We will take the example of Login window to understand functionality

    and usability defects. A functionality defect is when a user gives a validuser name but invalid password and the user clicks on login button. If the

    application accepts the user name and password, and displays the mainwindow, where an error should have been displayed. On the other hand a

    usability defect is when the user gives a valid user name, but invalidpassword and clicks on login button. The application throws up an errormessage saying "Please enter valid user name" when the error message

    should have been "Please enter valid Password."

    What are the check lists, which a software tester should follow?Read the link on check lists for software tester to find the answer to the

    question.

    What is usability testing?

    Refer to the article titled usability testing for an answer to this question.

    What is exploratory testing?

    Read the page on exploratory testing to find the answer.

    What is security testing?Read on security testing for an appropriate answer.

    Explain white box testing.One of the testing types used in software testing is white box testing.

    Read in detail on white box testing.

    What is the difference between volume testing and load testing?Volume testing checks if the system can actually cope up with the large

    amount of data. For example, a number of fields in a particular record ornumerous records in a file, etc. On the other hand, load testing ismeasuring the behavior of a component or a system with increased load.

    The increase in load can be in terms of number of parallel users and/orparallel transactions. This helps to determine the amount of load, which

    can be handled by the component or the software system.

  • 8/8/2019 Computer techinical questions

    6/30

    What is pilot testing?It is a test of a component of a software system or the entire system underthe real time operating conditions. The real time environment helps to

    find the defects in the system and prevent costly bugs been detected later

    on. Normally a group of users use the system before its completedeployment and give their feedback about the system.

    What is exact difference between debugging & testing?

    When a test is run and a defect has been identified. It is the duty of thedeveloper to first locate the defect in the code and then fix it. This p rocess

    is known as debugging. In other words, debugging is the process offinding, analyzing and removing the causes of failures in the software. Onthe other hand, testing consists of both static and dynamic testing life

    cycle activities. It helps to dete rmine that the software does satisfy

    specified requirements and it is fit for purpose.

    Explain black box testing.

    Find the answer to the question in the article on black box testing.

    What is verification and validation?

    Read on the two techniques used in software testing namely verificationand validation in the article on verification and validation.

    Explain validation testing.

    For an answer about validation testing, click on the article titledvalidation testing.

    What is waterfall model in testing?Refer to the article on waterfall model in testing for the answer.

    Explain beta testing.For answer to this question, refer to the article on beta testing.

    What is boundary value analysis?

    A boundary value is an input or an output value, which resides on theedge of an equivalence partition. It can also be the smallest incrementaldistance on either side of an edge, like the minimum or a maximum value

    of an edge. Boundary value analysis is a black box testing technique,where the tests are based on the boundary values.

  • 8/8/2019 Computer techinical questions

    7/30

    What is system testing?System testing is testing carried out of an integrated system to verify, thatthe system meets the specified requirements. It is concerned with the

    behavior of the whole system, according to the scope defined. More often

    than not system testing is the final test carried out by the developmentteam, in order to verify that the system developed does meet the

    specifications and also identify defects which may be present.

    What is the difference between retest and regression testing?Restesting, also known as confirmation testing is testing which runs the

    test cases that failed the last time, when they were run in order to verifythe success of corrective actions taken on the defect found. On the otherhand, regression testing is testing of a previously tested program program

    after the modifications to make sure that no new defects have been

    introduced. In other words, it helps to uncover defects in the unchangedareas of the software.

    What is a test suite?A test suite is a set of several test cases designed for a component of a

    software or system under test, where the post condition of one test case is

    normally used as the precondition for the next test.

    These are some of the software testing interview questions and answers

    for freshers and the experienced. This is not an exhaustive list, but I have

    tried to include as many software testing interview questions and answers,as I could in this article. I hope the article proves to be of help, when youare preparing for an interview. Heres wishing you luck with the

    interviews and I hope you crack the interview as well.

  • 8/8/2019 Computer techinical questions

    8/30

    QTP Interview QuestionsFull form of QTP ?Quick Test Professional

    Whats the QTP ?QTP is Mercury Interactive Functional Testing Tool.

    Which scripting language used by QTP ?

    QTP uses VB scripting.

    Whats the basic concept of QTP ?QTP is based on two concept-

    * Recording

    * Playback

    How many types of recording facility are available in QTP ?

    QTP provides three types of recording methods-

    * Context Recording (Normal)

    * Analog Recording* Low Level Recording

    How many types of Parameters are available in QTP ?

    QTP provides three types of Parameter-* Method Argument

    * Data Driven* Dynamic

    Whats the QTP testing process ?QTP testing process consist of seven steps-

    * Preparing to recoding* Recording

    * Enhancing your script* Debugging* Run

    * Analyze* Report Defects

  • 8/8/2019 Computer techinical questions

    9/30

    Whats the Active Screen ?

    It provides the snapshots of your application as it appeared when you

    performed a certain steps during recording session.

    Whats the Test Pane ?

    Test Pane contains Tree View and Expert View tabs.

    Whats Data Table ?

    It assists to you about parameterizing the test.

    Whats the Test Tree ?

    It provides graphical representation of your operations which you haveperformed with your application.

    Which all environment QTP supports ?

    ERP/ CRMJava/ J2EEVB, .NET

    Multimedia, XML

    Web Objects, ActiveX controlsSAP, Oracle, Siebel, PeopleSoftWeb Services, Terminal Emulator

    IE, NN, AOL

    How can you view the Test Tree ?

    The Test Tree is displayed through Tree View tab.

    Whats the Expert View ?

    Expert View display the Test Script.

  • 8/8/2019 Computer techinical questions

    10/30

    Which keyword used for Nornam Recording ?

    F3

    Which keyword used for run the test script ?

    F5

    Which keyword used for stop the recording ?

    F4

    Which keyword used for Analog Recording ?

    Ctrl+Shift+F4

    Which keyword used for Low Level Recording ?

    Ctrl+Shift+F3

    Which keyword used for switch between Tree View and Expert View ?

    Ctrl+Tab

    Whats the Transaction ?

    You can measure how long it takes to run a section of your test bydefining transactions.

    Where you can view the results of the checkpoint ?

    You can view the results of the checkpoints in the Test Result Window.

    Whats the Standard Checkpoint ?

    Standard Checkpoints checks the property value of an object in your

    application or web page.

  • 8/8/2019 Computer techinical questions

    11/30

    Which environment are supported by Standard Checkpoint ?

    Standard Checkpoint are supported for all add-in environments.

    Whats the Image Checkpoint ?

    Image Checkpoint check the value of an image in your application or webpage.

    Which environments are supported by Image Checkpoint ?

    Image Checkpoint are supported only Web environment.

    Whats the Bitmap Checkpoint ?

    Bitmap Checkpoint checks the bitmap images in your web page orapplication.

    Which environment are supported by Bitmap Checkpoints ?

    Bitmap checkpoints are supported all add-in environment.

    Whats the Table Checkpoints ?

    Table Checkpoint checks the information with in a table.

    Which environments are supported by Table Checkpoint ?

    Table Checkpoints are supported only ActiveX environment.

    Whats the Text Checkpoint ?

    Text Checkpoint checks that a test string is displayed in the appropriateplace in your application or on web page.

  • 8/8/2019 Computer techinical questions

    12/30

    Which environment are supported by Test Checkpoint ?

    Text Checkpoint are supported all add-in environments

    Note:

    * QTP records each steps you perform and generates a test tree and test

    script.

    * QTP records in normal recording mode.

    * If you are creating a test on web object, you can record your test on one

    browser and run it on another browser.

    * Analog Recording and Low Level Recording require more disk sapcethan normal recording mode.

    1. What is a test engineer?

    A: We, test engineers are engineers who specialize in testing. We createtest cases, test procedures, test scripts; execute test procedures, and testscripts; generate test data and test results; analyze standards of

    measurements; evaluate the results of testing, system testing, integration

    testing, and regression testing.

    We, software test engineers, create software test cases, software test

    procedures, software test scripts; execute software test procedures, andsoftware test scripts; generate software test data, and software test results;analyze standards of measurements; evaluate the results of software

    testing, system testing, software integration testing, system integrationtesting, software regression testing, and system regression testing.

  • 8/8/2019 Computer techinical questions

    13/30

    2. What is the role of test engineers?

    A: We, test engineers, speed up the work of your development staff, and

    reduce the risk of your company's legal liability. We give your company

    the evidence that the software is correct and operates properly. We alsoimprove your problem tracking and reporting. We maximize the value of

    your software, and the value of the devices that use it. We also assure thesuccessful launch of your product by discovering bugs and design flaws,

    before users get discouraged, before shareholders loose t heir cool, andbefore your employees get bogged down. We help the work of your

    software development staff, so your development team can devote itstime to build up your product. We also promote continual improvement.We provide documentation required by FDA, FAA, other regulatory

    agencies, and your customers. We save your company money by

    discovering defects EARLY in the design process, before failures occurin production, or in the field. We save the reputation of your company bydiscovering bugs and design flaws, before bugs and design flaws damage

    the reputation of your company.

    3. What is a QA engineer?

    A: We, QA engineers, are test engineers but we do more than just testing.Good QA engineers understand the entire software development process

    and how it fits into the business approach and the goals of the

    organization. Communication skills and the ability to understand varioussides of issues are important. We, QA engineers, are successful if peoplelisten to us, if people use our tests, if people think that we're useful, and if

    we're happy doing our work. I would love to see QA departments staffedwith experienced software developers who coach development teams towrite better code. But I've never seen it. Instead of coaching, we, QA

    engineers, tend to be process people.

  • 8/8/2019 Computer techinical questions

    14/30

    4. What is quality?

    A: Quality software is software that is reasonably bug-free, delivered on

    time and within budget, meets requirements and expectations and is

    maintainable. However, quality is a subjective term. Quality d epends onwho the customer is and their overall influence in the scheme of things.

    Customers of a software development project include end -users, customeracceptance test engineers, testers, customer contract officers, customer

    management, the development organization's management, testengineers, testers, salespeople, software engineers, stockholders and

    accountants. Each type of customer will have his or her own slant onquality. The accounting department might define quality in terms ofprofits, while an end-user might define quality as user friendly and bug

    free.

    5. What is the difference between software fault and software failure?

    A: Software failure occurs when the software does not do what the userexpects to see. Software fault, on the other hand , is a hidden

    programming error.

    A software fault becomes a software failure only when the exactcomputation conditions are met, and the faulty portion of the code is

    executed on the CPU. This can occur during normal usage. Or, when the

    software is ported to a different hardware platform. Or, when the softwareis ported to a different complier. Or, when the software gets extended.

    6. What is the role of a QA engineer?

    A: The QA engineer's role is as follows: We, QA engineers, use the

    system much like real users would, find all the bugs, find ways toreplicate the bugs, submit bug reports to the developers, and provide

    feedback to the developers, i.e. tell them if they've achieved the desiredlevel of quality.

    7. What is software life cycle?A: Software life cycle begins when a software product is first conceived

    and ends when it is no longer in use. It includes phases like initial concept,requirements analysis, functional design, internal design, documentation

    planning, test planning, coding, document pr eparation, integration, testing,maintenance, updates, re-testing and phase-out.

  • 8/8/2019 Computer techinical questions

    15/30

    8. How do you introduce a new software QA process?

    A: It depends on the size of the organization and the risks involved. For

    large organizations with high-risk projects, a serious management buy-in

    is required and a formalized QA process is necessary. For medium sizeorganizations with lower risk projects, management and organizational

    buy-in and a slower, step-by-step process is required. Generally speaking,QA processes should be balanced with productivity, in order to keep any

    bureaucracy from getting out of hand. For smaller groups or projects, anad-hoc process is more appropriate. A lot depends on team leads and

    managers, feedback to developers and good communication i s essentialamong customers, managers, developers, test engineers and testers.Regardless the size of the company, the greatest value for effort is in

    managing requirement processes, where the goal is requirements that are

    clear, complete and testable.

    9. What is the role of documentation in QA?

    A: Documentation plays a critical role in QA. QA practices should be

    documented, so that they are repeatable. Specifications, designs, business

    rules, inspection reports, configurations, code changes, test plans, testcases, bug reports, user manuals should all be documented. Ideally, thereshould be a system for easily finding and obtaining of documents and

    determining what document will have a particular piece of information.

    Use documentation change management, if possible.

  • 8/8/2019 Computer techinical questions

    16/30

    10. Why are there so many software bugs?

    A: Generally speaking, there are bugs in software because of unclear

    requirements, software complexity, programming errors,

    changes in requirements, errors made in bug tracking, t ime pressure,

    poorly documented code and/or bugs in tools used in

    software development.

    * There are unclear software requirements because there ismiscommunication as to what the software should or shouldn't do.

    * Software complexity. All of the followings contribute to the

    exponential growth in software and system complexity: Windows

    interfaces, client-server and distributed applications, data

    communications, enormous relational databases and the sheer size

    of applications.

    * Programming errors occur because programmers and softwareengineers, like everyone else, can make mistakes.

    * As to changing requirements, in some fast -changing businessenvironments, continuously modified requirements are a fact of

    life. Sometimes customers do not understand the effects of changes, orunderstand them but request them anyway. And the

    changes require redesign of the software, rescheduling of resources andsome of the work already completed have to be redone

    or discarded and hardware requirements can be effected, too.

  • 8/8/2019 Computer techinical questions

    17/30

    11. What is a bug life cycle?

    A: Bug life cycles are similar to software development life cycles. At any

    time during the software development life cycle errors can be madeduring the gathering of requirements, requirements anal ysis, functional

    design, internal design, documentation planning, document preparation,coding, unit testing, test planning, integration, testing, maintenance,

    updates, re-testing and phase-out.

    Bug life cycle begins when a programmer, software developer, orarchitect makes a mistake, creates an unintentional software defect, i.e.bug, and ends when the bug is fixed, and the bug is no longer in existence.

    What should be done after a bug is found? When a bug is found, it needsto be communicated and assigned to developers that can fix it. After theproblem is resolved, fixes should be re-tested.

    Additionally, determinations should be made regarding requirements,

    software, hardware, safety impact, etc., for regression testing to check the

    fixes didn't create other problems elsewhere.

    If a problem-tracking system is in place, it should encapsulate these

    determinations. A variety of commercial, problem -tracking, management

    software tools are available. These tools, with the detailed input ofsoftware test engineers, will give the team complete information sodevelopers can understand the bug, get an idea of its severity, reproduce it

    and fix it.

  • 8/8/2019 Computer techinical questions

    18/30

    12. Give me five common problems that occur during softwaredevelopment.

    A: Poorly written requirements, unrealistic schedules, inadequate testing,

    adding new features after development is underway and poorcommunication.

    1. Requirements are poorly written when requirements are unclear,

    incomplete, too general, or not testable; therefore

    there will be problems.

    2. The schedule is unrealistic if too much work is crammed in too little

    time.

    3. Software testing is inadequate if none knows whether or not thesoftware is any good until customers complain or the

    system crashes.

    4. It's extremely common that new features are added after developmentis underway.

    5. Miscommunication either means the developers don't know what is

    needed, or customers have unrealistic expectations and thereforeproblems are guaranteed.

  • 8/8/2019 Computer techinical questions

    19/30

    13. Do automated testing tools make testing easier?

    A: Yes and no.

    For larger projects, or ongoing long-term projects, they can be valuable.

    But for small projects, the time needed to learn and implement them isusually not worthwhile.A common type of automat ed tool is the

    record/playback type. For example, a test engineer clicks through allcombinations of menu choices, dialog box choices, buttons, etc. in a GUI

    and has an automated testing tool record and log the results. Therecording is typically in the form of text, based on a scripting languagethat the testing tool can interpret.If a change is made (e.g. new buttons are

    added, or some underlying code in the application is changed), the

    application is then re-tested by just playing back the recorded actions andcompared to the logged results in order to check effects of the change.

    One problem with such tools is that if there are continual changes to theproduct being tested, the recordings have to be changed so often that it

    becomes a very time-consuming task to continuously update the scripts.

    Another problem with such tools is the interpretation of the results(screens, data, logs, etc.) that can be a time-consuming task.

    14. What is software configuration management?

    A: Software Configuration Management (SCM) is the control and the

    recording of changes that are made to the software and documentationthroughout the software development life cycle (SDLC).

    SCM covers the tools and processes used to control, coordinate and trackcode, requirements, documentation, problems, change requests, designs,

    tools, compilers, libraries, patches, and changes made to them, and tokeep track of who makes the changes.

    Rob Davis has experience with a full range of CM tools and concepts,and can easily adapt to an organization's software tool and process needs.\

  • 8/8/2019 Computer techinical questions

    20/30

    15. What makes a good QA/Test Manager?

    A: QA/Test Managers are familiar with the software development process;

    able to maintain enthusiasm of their team and promote a positive

    atmosphere; able to promote teamwork to increase productivity; able topromote cooperation between Software and Test/QA Engineers, have the

    people skills needed to promote improvements in QA processes, have theability to withstand pressures and say *no* to other managers when

    quality is insufficient or QA processes are not being adhered to; able tocommunicate with technical and non -technical people; as well as able to

    run meetings and keep them focused.

    16. What is a test plan?

    A: A software project test plan is a document that describes the objectives,scope, approach and focus of a software testing effort. The process ofpreparing a test plan is a useful way to think through the efforts needed to

    validate the acceptability of a software product. The completed documentwill help people outside the test group understand the why and how of

    product validation. It should be thorough enough to be useful, but not so

    thorough that none outside the test group will be able to read it.

    17. What is a test case?

    A: A test case is a document that describes an input, action, or event andits expected result, in order to determine if a feature of an application isworking correctly. A test case should contain particulars such as a...

    * Test case identifier;* Test case name;

    * Objective;* Test conditions/setup;

    * Input data requirements/steps, and* Expected results.

    Please note, the process of developing test cases can help find problemsin the requirements or design of an application, since it requires you to

    completely think through the operation of the application. For this reason,it is useful to prepare test cases early in the development cycle, if possible.

  • 8/8/2019 Computer techinical questions

    21/30

    18. What is configuration management?

    A: Configuration management (CM) covers the tools and processes used

    to control, coordinate and track code, requirements, documentation,

    problems, change requests, designs, tools, compilers, libraries, patches,changes made to them and who makes the changes. Rob Davis has had

    experience with a full range of CM tools and concepts, and can easilyadapt to your software tool and process needs.

    19. How do you know when to stop testing?

    A: This can be difficult to determine. Many modern software applicationsare so complex and run in such an interdependent environment, t hat

    complete testing can never be done. Common factors in deciding when to

    stop are...

    * Deadlines, e.g. release deadlines, testing deadlines;

    * Test cases completed with certain percentage passed;* Test budget has been depleted;

    * Coverage of code, functionality, or requirements reaches a specified

    point;* Bug rate falls below a certain level; or* Beta or alpha testing period ends.

    20. How can software QA processes be implemented without stiflingproductivity?

    A: Implement QA processes slowly over time. Use consensus to reachagreement on processes and adjust and experiment as an organizationgrows and matures. Productivity will be improved instead of stifled.

    Problem prevention will lessen the need for problem detection. Pani csand burnout will decrease and there will be improved focus and less

    wasted effort.At the same time, attempts should be made to keepprocesses simple and efficient, minimize paperwork, promote computer -

    basedprocesses and automated tracking and reportin g, minimize time requiredin meetings and promote training as part of the QA process.However, no

    one, especially talented technical types, like bureaucracy and in the shortrun things may slow down a bit. A typical scenario would be that more

    days of planning and development will be needed, but less time will berequired for late-night bug fixing and calming of irate customers.

  • 8/8/2019 Computer techinical questions

    22/30

    21. Why do you recommend that we test during the design phase?

    A: Because testing during the design phase can prevent defects later on.

    We recommend verifying three things...

    1. Verify the design is good, efficient, compact, testable andmaintainable.

    2. Verify the design meets the requirements and is complete (specifies

    all relationships between modules, how to pass

    data, what happens in exceptional circumstances, starting state of each

    module and how to guarantee the state of each

    module).

    3. Verify the design incorporates enough memory, I/O devices andquick enough runtime for the final product.

    22. What is black box testing?

    A: Black box testing is functional testing, not based on any knowledge of

    internal software design or code. Black box testing are based on

    requirements and functionality.

    23. What is white box testing?

    A: White box testing is based on knowledge of the internal logic of anapplication's code. Tests are based on coverage of code statements,

    branches, paths and conditions.

    24. What is unit testing?

    A: Unit testing is the first level of dynamic testing and is first theresponsibility of developers and then that of the test engineers.Unit testing is performed after the expected test results are met or

    differences are explainable/acceptable.

  • 8/8/2019 Computer techinical questions

    23/30

    25. What is parallel/audit testing?

    A: Parallel/audit testing is testing where the user reconc iles the output of

    the new system to the output of the current system to verify the new

    system performs the operations correctly.

    26. What is functional testing?

    A: Functional testing is black-box type of testing geared to functionalrequirements of an application. Test engineers *should* perform

    functional testing.

    27. What is usability testing?

    A: Usability testing is testing for 'user-friendliness'. Clearly this issubjective and depends on the targeted end -user or customer. Userinterviews, surveys, video recording of user sessions and other techniques

    can be used. Programmers and developers are usually not appropriate asusability testers.

    28. What is incremental integration testing?

    A: Incremental integration testing is continuous testing of an a pplication

    as new functionality is recommended. This may require that various

    aspects of an application's functionality are independent enough to workseparately, before all parts of the program are completed, or that testdrivers are developed as needed.Incremental testing may be performed by

    programmers, software engineers, or test engineers.

    29. What is integration testing?

    A: Upon completion of unit testing, integration testing begins. Integration

    testing is black box testing. The purpose of integration testing is to ensuredistinct components of the application still work in accordance to

    customer requirements.Test cases are developed with the express purposeof exercising the interfaces between the components. This activity iscarried out by the test team.Integration testing is considered complete,

    when actual results and expected results are either in line or differencesare

    explainable/acceptable based on client input.

  • 8/8/2019 Computer techinical questions

    24/30

    30. What is system testing?

    A: System testing is black box testing, performed by the Test Team, and

    at the start of the system testing the complete system is configured in a

    controlled environment.The purpose of system testing is to validate anapplication's accuracy and completeness in performing the functions as

    designed.System testing simulates real life scenarios that occur in a"simulated real life" test environment and test all functions of the system

    that are required in real life.System testing is deemed complete whenactual results and expected results are either in line or differences are

    explainable or acceptable, based on client input.

    31. What is end-to-end testing?

    A: Similar to system testing, the *macro* end of the test scale is testing acomplete application in a situation that mimics real world use, such asinteracting with a database, using network communication, or interacting

    with other hardware, application, or system.

    32. What is regression testing?

    A: The objective of regression testing is to ensure the software remainsintact. A baseline set of data and scripts is maintained and executed to

    verify changes introduced during the release have not "undone" any

    previous code. Expected results from the baseline are compared to resultsof the software under test. All discrepancies are highlighted andaccounted for, before testing proceeds to the next level.

    33. What is sanity testing?

    A: Sanity testing is performed whenever cursory testing is sufficient toprove the application is functioning according to specifications. This level

    of testing is a subset of regression testing.It normally includes a set ofcore tests of basic GUI functionality to demonstrate connectivity to the

    database, application servers, printers, etc.

    34. What is performance testing?

    A: Although performance testing is described as a part of system testing,

    it can be regarded as a distinct level of testing. Performance testingverifies loads, volumes and response times, as defined by requirements.

  • 8/8/2019 Computer techinical questions

    25/30

    35. What is load testing?

    A: Load testing is testing an application under heavy loads, such as the

    testing of a web site under a range of loads to determine at what point the

    system response time will degrade or fail.

    36. What is installation testing?

    A: Installation testing is testing full, partial, upgrade, or install/uninstallprocesses. The installation test for a release is conducted with the

    objective of demonstrating production readiness.

    37. What is security/penetration testing?

    A: Security/penetration testing is testing how well the system is protectedagainst unauthorized internal or external access,or willful damage.

    This type of testing usually requires sophisticated testing techniques.

    38. What is recovery/error testing?

    A: Recovery/error testing is testing how well a system recovers fromcrashes, hardware failures, or other ca tastrophic problems.

    39. What is compatibility testing?

    A: Compatibility testing is testing how well software performs in a

    particular hardware, software, operating system, or network environment.

    40. What is comparison testing?

    A: Comparison testing is testing that compares software weaknesses and

    strengths to those of competitors' products.

  • 8/8/2019 Computer techinical questions

    26/30

    41. What is acceptance testing?

    A: Acceptance testing is black box testing that gives the

    client/customer/project manager the opportunity to verify the system

    functionality and usability prior to the system being released toproduction.The acceptance test is the responsibility of the client/customer

    or project manager, however, it is conducted with the full support of theproject team. The test team also works with the client/customer/project

    manager to develop the acceptance criteria.

    42. What is alpha testing?

    A: Alpha testing is testing of an application when development is nearing

    completion. Minor design changes can still be made as a result of alph a

    testing. Alpha testing is typically performed by a group that isindependent of the design team, but still within the company, e.g. in -house software test engineers, or software QA engineers.

    43. What is beta testing?

    A: Beta testing is testing an application when development and testing areessentially completed and final bugs and problems need to be foundbefore the final release. Beta testing is typically performed by end -users

    or others, not programmers, software engineers, or test engineers.

    44. What is a Test/QA Team Lead?

    A: The Test/QA Team Lead coordinates the testing activity,communicates testing status to management and manages the test team.

    45. What is a Test Configuration Manager?

    A: Test Configuration Managers maintain test environments, scripts,software and test data. Depending on the project, one person may wear

    more than one hat. For instance, Test Engineers may also wear the hat ofa Test Configuration Manager.

  • 8/8/2019 Computer techinical questions

    27/30

    46. What is software testing methodology?

    A: One software testing methodology is the use a three step process of...

    1. Creating a test strategy;2. Creating a test plan/design; and

    3. Executing tests.

    This methodology can be used and molded to your organization's needs.Rob Davis believes that using this methodology is important in the

    development and ongoing maintenance of his clients' applications.

    47. What is the general testing process?

    A: The general testing process is the creation of a test strategy (whichsometimes includes the creation of test cases), creation of a testplan/design (which usually includes test cases and test procedures) and

    the execution of tests.

  • 8/8/2019 Computer techinical questions

    28/30

    48. How do you create a test plan/design?

    A: Test scenarios and/or cases are prepared by reviewing functio nal

    requirements of the release and preparing logical groups of functions that

    can be further broken into test procedures. Test procedures define testconditions, data to be used for testing and expected results, including

    database updates, file outputs, r eport results. Generally speaking...

    * Test cases and scenarios are designed to represent both typical andunusual situations that may occur in the

    application.* Test engineers define unit test requirements and unit test cases. Test

    engineers also execute unit test cases.

    * It is the test team that, with assistance of developers and clients,develops test cases and scenarios for integration

    and system testing.* Test scenarios are executed through the use of test procedures or

    scripts.

    * Test procedures or scripts define a series of steps necessary toperform one or more test scenarios.

    * Test procedures or scripts include the specific data that will be used

    for testing the process or transaction.

    * Test procedures or scripts may cover multiple test scenarios.* Test scripts are mapped back to the requirements and traceability

    matrices are used to ensure each test is within scope.

  • 8/8/2019 Computer techinical questions

    29/30

    49. How do you execute tests?

    A: Execution of tests is completed by following the test documents in a

    methodical manner. As each test procedure is performed, an entry is

    recorded in a test execution log to note the execution of the procedure andwhether or not the test procedure uncovered any defects. Checkpoint

    meetings are held throughout the execution phase. Checkpoint meetingsare held daily, if required, to address and discuss testing issues, status and

    activities.

    * The output from the execution of test procedures is known as testresults. Test results are evaluated by test engineers

    to determine whether the expected results have been obtained. All

    discrepancies/anomalies are logged and discussed with the

    software team lead, hardware test lead, programmers, software engineers

    and documented for further investigation and

    resolution. Every company has a different process for logging and

    reporting bugs/defects uncovered during testing.* A pass/fail criteria is used to determine the severity of a problem, and

    results are recorded in a test summary report.

    The severity of a problem, found during system testing, is defined inaccordance to the customer's risk assessment and

    recorded in their selected tracking tool.* Proposed fixes are delivered to the testing environment, based on the

    severity of the problem. Fixes are regression

    tested and flawless fixes are migrated to a new baseline. Following

    completion of the test, members of the test team prepare

    a summary report. The summary report is reviewed by the ProjectManager, Software QA Manager and/or Test Team Lead.

  • 8/8/2019 Computer techinical questions

    30/30

    50. How do you create a test strategy?

    A: The test strategy is a formal description of how a software product will

    be tested. A test strategy is developed for all levels of testing, as required.

    The test team analyzes the requirements, wri tes the test strategy andreviews the plan with the project team. The test plan may include test

    cases, conditions, the test environment, a list of related tasks, pass/failcriteria and risk assessment.

    51. What is load testing?

    A: Load testing simulates the expected usage of a software program, bysimulating multiple users that access the program's services concurrently.

    Load testing is most useful and most relevant for multi-user systems,

    client/server models, including web servers.

    For example, the load placed on the system is increased above normal

    usage patterns, in order to test the system's response at peak loads.

    52. What is the difference between stress testing and load testing?

    A: Load testing generally stops short of stress testing.

    During stress testing, the load is so great that the expected results are

    errors, though there is gray area in between stress testing and load testing.

    Load testing is a blanket term that is used in many different ways across

    the professional software testing community.

    The term, load testing, is often used synonymously with stress testing,

    performance testing, reliability testing, and volume testing.