发布新日志

  • Load testing interview questions

    2008-07-09 10:52:25

    1. What criteria would you use to select Web transactions for load testing?
    2. Why are virtual users created?
    3. Why is it recommended to add verification checks to your all your scenarios?
    4. What’s the scenario, where you would want to parameterize a text verification check?
    5. Why do you need to parameterize fields in your virtual user scrīpt?
    6. What are the cases why parameterization is necessary when load testing the Web server and the database server?

    7. How can data caching have a negative effect on load testing results?
    8. What is usually a good indicator that your virtual user scrīpt has dynamic data, which is dependent on the parameterized fields?
    9. What are the benefits of creating multiple actions within any virtual user scrīpt?
    10. What is a Load Test Results Summary Report?
  • Google interview questions

    2008-07-09 10:45:37

    You have to get from point A to point B. You don’t know if you can get there. What would you do?

    Imagine you have a closet full of shirts. It’s very hard to find a shirt. So what can you do to organize your shirts for easy retrieval?

    What method would you use to look up a word in a dictionary?

    Every man in a village of 100 married couples has cheated on his wife. Every wife in the village instantly knows when a man other than her husband has cheated, but does not know when her own husband has. The village has a law that does not allow for adultery. Any wife who can prove that her husband is unfaithful must kill him that very day. The women of the village would never disobey this law. One day, the queen of the village visits and announce that at least one husband has been unfaithful. What happens?

    You have eight balls all of the same size. 7 of them weigh the same, and one of them weighs slightly more. How can you fine the ball that is heavier by using a balance and only two weighings?

    How do you cut a rectangular cake into two equal pieces when someone has already taken a rectangular piece from it? The removed piece an be any size or at any place in the cake. You are only allowed one straight cut.

    How many piano tuners are there in the entire world?

    What gives you joy?

    Mike has $20 more than Todd. How much does each have given that combined they have $21 between them. You can’t use fractions in the answer. Hint: This is a trick question, pay close attention to the condition)

    How many times a day a clock’s hands overlap?

    Two MIT math graduates bump into each other. They hadn’t seen each other in over 20 years.
    The first grad says to the second: “how have you been?”
    Second: “Great! I got married and I have three daughters now”
    First: “Really? how old are they?”
    Second: “Well, the product of their ages is 72, and the sum of their ages is the same as the number on that building over there..”
    First: “Right, ok.. oh wait.. I still don’t know”
    second: “Oh sorry, the oldest one just started to play the piano”
    First: “Wonderful! my oldest is the same age!” Problem: How old are the daughters?

    If you look at a clock and the time is 3:15, what is the angle between the hour and the minute hands? (The answer to this is not zero!)

    Four people need to cross a rickety rope bridge to get back to their camp at night. Unfortunately, they only have one flashlight and it only has enough light left for seventeen minutes. The bridge is too dangerous to cross without a flashlight, and it’s only strong enough to support two people at any given time. Each of the campers walks at a different speed. One can cross the bridge in 1 minute, another in 2 minutes, the third in 5 minutes, and the slow poke takes 10 minutes to cross. How do the campers make it across in 17 minutes?

    If the probability of observing a car in 30 minutes on a highway is 0.95, what is the probability of observing a car in 10 minutes (assuming constant default probability)?

    In a country in which people only want boys, every family continues to have children until they have a boy. if they have a girl, they have another child. if they have a boy, they stop. what is the proportion of boys to girls in the country?

    You have an empty room, and a group of people waiting outside the room. At each step, you may either get one person into the room, or get one out. Can you make subsequent steps, so that every possible combination of people is achieved exactly once?

  • 12 general questions from an international company

    2008-07-09 10:42:20

    1. Tell me about your analytical skills, cite some examples of how you have used your skills in the past.
    2. What are some of your long term goals?
    3. What are your short term goals?
    4. Where do you see yourself five years from now?
    5. Tell me why I should hire you?
    6. What does customer service mean to you?
    7. Why did you leave your last job?
    8. Describe your definition of a team player?
    9. Sight examples of when in the past you have proven to be a team player?
    10. How would you handle a conflict with another employee?
    11. What do you believe you can gain by working at this company?
    12. Give me some examples of times in the past, when you were able to avoid a conflict, by thinking on your feet. Tell what you know about this company.
  • Strategies for Self Introduction in an Interview

    2008-07-02 11:51:19

    The reason why we discuss self-introduction solely is because of no matter what form of interviews, it is must needs a self-introduction at first, as well as your self-introduction in the interview should leave the first impression to the interviewer, first impressions are shown to be very hard to change, so it is obviously that self-introduction is an very important stage of interview.

    The duration of self-introduction would roughly about 1 minute to 2 minutes. Because most job seeker would prepare for self-introduction in advance, and should oral presentation in recitation, interviewer often browse your resume within these several minutes, observe the way of your expression, and look at which of your achievements are you most proud of. Even so, you should keep your eyes on the interviewer most of the time in the presentation, other than endorsement with your head bowed.

    Self-introduces is the first stage of interview, there are several strategies should be considered. We summing up the strategies as " URBAN "(Unique, Relevant, Bonding, Arousing and Neat) which could be used on the self-introduction of an interview:

    Unique

    The purpose of self-presentation is to make you stand out from the other candidates in the first minutes. So the introduction must be unique!, think about which of your distinctive strong suit or experience should be unique. For example: If you have been living in poverty-stricken area about two months, to help people in the area, try to understand their perspectives, This kind of experience is necessary to be introduced in a self-interview.

    Relevant

    You should know: the interviewer merely wanted to know your personal experience and personal characteristics, and thus judge whether you satisfy the requirement of applying positions, So you should remove such irrelevance information in self-introduction, For example: maybe there are some important events in history happened on the day you were born, but this has no relationship with your future work, so you should not mention it at all in self-introduction.

    Bonding

    Interviewers are ordinary people like everyone else, they are also will tend to hire people who are similar to them or someone they liked. It is more difficulty to refuse a friend than a stranger, who would be willing to hire someone they are unwilling to work together in the future?, So you should doing investigation and collecting some information of the company before you attend interview, find out what of your characteristics will suit with the culture of the company, but you should not to fictional characters and incidents cater for the interviewer just for the sake of bonding. If they find out you don’t have the characteristics what your have calmed later, they will suspicion of your credibility and integrity.

    Arousing

    Although most of the self-introduction prepared in advance and would be recited out, the represent methods of recitation are also very crucial. Let us think about it, the interviewer listening to a dozen or even several dozens of self-introduction all day, most of recitation pretty monotonous and extreme boring, suddenly they heard a very emotional, very rich passionate self-introduction, It is naturally that the candidates should left a deeply impression to the interviewer. Therefore, you should not only prepare for the content of self-introduction, but also pay attention to your emotion and your tone of voice, the auditory effects should also play an important role in the interview.

    Neat

    Because of the self-introduction would finished within 1 or 2 minutes, time is very preciously, therefore the contents and represent methods should be concise. It is not necessary for you to involve in too many details, you should speak point-blank but not fussily. If a candidate making a self-introduction hum and haw, the interviewer could not expect he would give an outstanding representation in the rest of the interview.

    It is necessary for you to record the tape of your self-introduction after writing and reciting it well, and besides, you’d better ask some friends to listen to it and offer some suggestions; you will prepare it in advance, while the interviewers know that you will be prepared, thus you should try your best to act it perfect.

    Do not act as on-the-spot play deliberately during the interview, you will overdo if you haven’t done it well enough; while if you have done it well, the interviewers may think that you are not professional enough and you don’t pay too much attention to the company as you haven’t prepared your self-introduction. So please remember that the interviewers know that your self-introduction is prepared in advance.
  • QTP interview questions

    2008-06-04 16:54:54

    1. What are the Features & Benefits of Quick Test Pro (QTP 8.0)? - Operates stand-alone, or integrated into Mercury Business Process Testing and Mercury Quality Center. Introduces next-generation zero-configuration Keyword Driven testing technology in Quick Test Professional 8.0 allowing for fast test creation, easier maintenance, and more powerful data-driving capability. Identifies objects with Unique Smart Object Recognition, even if they change from build to build, enabling reliable unattended scrīpt execution. Collapses test documentation and test creation to a single step with Auto-documentation technology. Enables thorough validation of applications through a full complement of checkpoints.
    2. How to handle the exceptions using recovery scenario manager in QTP? - There are 4 trigger events during which a recovery scenario should be activated. A pop up window appears in an opened application during the test run: A property of an object changes its state or value, A step in the test does not run successfully, An open application fails during the test run, These triggers are considered as exceptions.You can instruct QTP to recover unexpected events or errors that occurred in your testing environment during test run. Recovery scenario manager provides a wizard that guides you through the defining recovery scenario. Recovery scenario has three steps: 1. Triggered Events 2. Recovery steps 3. Post Recovery Test-Run

    3. What is the use of Text output value in QTP? - Output values enable to view the values that the application talks during run time. When parameterized, the values change for each iteration. Thus by creating output values, we can capture the values that the application takes for each run and output them to the data table.
    4. How to use the Object spy in QTP 8.0 version? - There are two ways to Spy the objects in QTP: 1) Thru file toolbar, In the File Toolbar click on the last toolbar button (an icon showing a person with hat). 2) True Object repository Dialog, In Object repository dialog click on the button object spy. In the Object spy Dialog click on the button showing hand symbol. The pointer now changes in to a hand symbol and we have to point out the object to spy the state of the object if at all the object is not visible. or window is minimized then, hold the Ctrl button and activate the required window to and release the Ctrl button.
    5. How Does Run time data (Parameterization) is handled in QTP? - You can then enter test data into the Data Table, an integrated spreadsheet with the full functionality of Excel, to manipulate data sets and create multiple test iterations, without programming, to expand test case coverage. Data can be typed in or imported from databases, spreadsheets, or text files.
    6. What is keyword view and Expert view in QTP? - Quick Test’s Keyword Driven approach, test automation experts have full access to the underlying test and object properties, via an integrated scrīpting and debugging environment that is round-trip synchronized with the Keyword View. Advanced testers can view and edit their tests in the Expert View, which reveals the underlying industry-standard VBscrīpt that Quick Test Professional automatically generates. Any changes made in the Expert View are automatically synchronized with the Keyword View.
    7. Explain about the Test Fusion Report of QTP? - Once a tester has run a test, a Test Fusion report displays all aspects of the test run: a high-level results overview, an expandable Tree View of the test specifying exactly where application failures occurred, the test data used, application screen shots for every step that highlight any discrepancies, and detailed explanations of each checkpoint pass and failure. By combining Test Fusion reports with Quick Test Professional, you can share reports across an entire QA and development team.
    8. Which environments does QTP support? - Quick Test Professional supports functional testing of all enterprise environments, including Windows, Web,..NET, Java/J2EE, SAP, Siebel, Oracle, PeopleSoft, Visual Basic, ActiveX, mainframe terminal emulators, and Web services.
    9. What is QTP? - Quick Test is a graphical interface record-playback automation tool. It is able to work with any web, java or windows client application. Quick Test enables you to test standard web objects and ActiveX controls. In addition to these environments, Quick Test Professional also enables you to test Java applets and applications and multimedia objects on Applications as well as standard Windows applications, Visual Basic 6 applications and.NET framework applications
    10. Explain QTP Testing process? - Quick Test testing process consists of 6 main phases:
    11. Create your test plan - Prior to automating there should be a detailed descrīption of the test including the exact steps to follow, data to be input, and all items to be verified by the test. The verification information should include both data validations and existence or state verifications of objects in the application.
    12. Recording a session on your application - As you navigate through your application, Quick Test graphically displays each step you perform in the form of a collapsible icon-based test tree. A step is any user action that causes or makes a change in your site, such as clicking a link or image, or entering data in a form.
    13. Enhancing your test - Inserting checkpoints into your test lets you search for a specific value of a page, object or text string, which helps you identify whether or not your application is functioning correctly. NOTE: Checkpoints can be added to a test as you record it or after the fact via the Active Screen. It is much easier and faster to add the checkpoints during the recording process. Broadening the scope of your test by replacing fixed values with parameters lets you check how your application performs the same operations with multiple sets of data. Adding logic and conditional statements to your test enables you to add sophisticated checks to your test.
    14. Debugging your test - If changes were made to the scrīpt, you need to debug it to check that it operates smoothly and without interruption.
    15. Running your test on a new version of your application - You run a test to check the behavīor of your application. While running, Quick Test connects to your application and performs each step in your test.
    16. Analyzing the test results - You examine the test results to pinpoint defects in your application.
    17. Reporting defects - As you encounter failures in the application when analyzing test results, you will create defect reports in Defect Reporting Tool.
    18. Explain the QTP Tool interface. - It contains the following key elements: Title bar, displaying the name of the currently open test, Menu bar, displaying menus of Quick Test commands, File toolbar, containing buttons to assist you in managing tests, Test toolbar, containing buttons used while creating and maintaining tests, Debug toolbar, containing buttons used while debugging tests. Note: The Debug toolbar is not displayed when you open Quick Test for the first time. You can display the Debug toolbar by choosing View — Toolbars — Debug. Action toolbar, containing buttons and a list of actions, enabling you to view the details of an individual action or the entire test flow. Note: The Action toolbar is not displayed when you open Quick Test for the first time. You can display the Action toolbar by choosing View — Toolbars — Action. If you insert a reusable or external action in a test, the Action toolbar is displayed automatically. Test pane, containing two tabs to view your test-the Tree View and the Expert View ,Test Details pane, containing the Active Screen. Data Table, containing two tabs, Global and Action, to assist you in parameterizing your test. Debug Viewer pane, containing three tabs to assist you in debugging your test-Watch Expressions, Variables, and Command. (The Debug Viewer pane can be opened only when a test run pauses at a breakpoint.) Status bar, displaying the status of the test
    19. How does QTP recognize Objects in AUT? - Quick Test stores the definitions for application objects in a file called the Object Repository. As you record your test, Quick Test will add an entry for each item you interact with. Each Object Repository entry will be identified by a logical name (determined automatically by Quick Test), and will contain a set of properties (type, name, etc) that uniquely identify each object. Each line in the Quick Test scrīpt will contain a reference to the object that you interacted with, a call to the appropriate method (set, click, check) and any parameters for that method (such as the value for a call to the set method). The references to objects in the scrīpt will all be identified by the logical name, rather than any physical, descrīptive properties.
    20. What are the types of Object Repositories in QTP? - Quick Test has two types of object repositories for storing object information: shared object repositories and action object repositories. You can choose which type of object repository you want to use as the default type for new tests, and you can change the default as necessary for each new test. The object repository per-action mode is the default setting. In this mode, Quick Test automatically creates an object repository file for each action in your test so that you can create and run tests without creating, choosing, or modifying object repository files. However, if you do modify values in an action object repository, your changes do not have any effect on other actions. Therefore, if the same test object exists in more than one action and you modify an object’s property values in one action, you may need to make the same change in every action (and any test) containing the object.
    21. Explain the check points in QTP? - A checkpoint verifies that expected information is displayed in an Application while the test is running. You can add eight types of checkpoints to your test for standard web objects using QTP. A page checkpoint checks the characteristics of an Application. A text checkpoint checks that a text string is displayed in the appropriate place on an Application. An object checkpoint (Standard) checks the values of an object on an Application. An image checkpoint checks the values of an image on an Application. A table checkpoint checks information within a table on a Application. An Accessibilityy checkpoint checks the web page for Section 508 compliance. An XML checkpoint checks the contents of individual XML data files or XML documents that are part of your Web application. A database checkpoint checks the contents of databases accessed by your web site
    22. In how many ways we can add check points to an application using QTP? - We can add checkpoints while recording the application or we can add after recording is completed using Active screen (Note : To perform the second one The Active screen must be enabled while recording).
    23. How does QTP identify objects in the application? - QTP identifies the object in the application by Logical Name and Class.
    24. What is Parameterizing Tests? - When you test your application, you may want to check how it performs the same operations with multiple sets of data. For example, suppose you want to check how your application responds to ten separate sets of data. You could record ten separate tests, each with its own set of data. Alternatively, you can create a parameterized test that runs ten times: each time the test runs, it uses a different set of data.
    25. What is test object model in QTP? - The test object model is a large set of object types or classes that Quick Test uses to represent the objects in your application. Each test object class has a list of properties that can uniquely identify objects of that class and a set of relevant methods that Quick Test can record for it. A test object is an object that Quick Test creates in the test or component to represent the actual object in your application. Quick Test stores information about the object that will help it identify and check the object during the run session.
    26. What is Object Spy in QTP? - Using the Object Spy, you can view the properties of any object in an open application. You use the Object Spy pointer to point to an object. The Object Spy displays the selected object’s hierarchy tree and its properties and values in the Properties tab of the Object Spy dialog box.
    27. What is the Diff between Image check-point and Bit map Check point? - Image checkpoints enable you to check the properties of a Web image. You can check an area of a Web page or application as a bitmap. While creating a test or component, you specify the area you want to check by selecting an object. You can check an entire object or any area within an object. Quick Test captures the specified object as a bitmap, and inserts a checkpoint in the test or component. You can also choose to save only the selected area of the object with your test or component in order to save disk Space. For example, suppose you have a Web site that can display a map of a city the user specifies. The map has control keys for zooming. You can record the new map that is displayed after one click on the control key that zooms in the map. Using the bitmap checkpoint, you can check that the map zooms in correctly. You can create bitmap checkpoints for all supported testing environments (as long as the appropriate add-ins are loaded). Note: The results of bitmap checkpoints may be affected by factors such as operating system, screen resolution, and color settings.
    28. How many ways we can parameterize data in QTP? - There are four types of parameters: Test, action or component parameters enable you to use values passed from your test or component, or values from other actions in your test. Data Table parameters enable you to create a data-driven test (or action) that runs several times using the data you supply. In each repetition, or iteration, Quick Test uses a different value from the Data Table. Environment variable parameters enable you to use variable values from other sources during the run session. These may be values you supply, or values that Quick Test generates for you based on conditions and options you choose. Random number parameters enable you to insert random numbers as values in your test or component. For example, to check how your application handles small and large ticket orders, you can have Quick Test generate a random number and insert it in a number of tickets edit field.
    29. How do u do batch testing in WR & is it possible to do in QTP, if so explain? - Batch Testing in WR is nothing but running the whole test set by selecting Run Test set from the Execution Grid. The same is possible with QTP also. If our test cases are automated then by selecting Run Test set all the test scrīpts can be executed. In this process the scrīpts get executed one by one by keeping all the remaining scrīpts in Waiting mode.
    30. If I give some thousand tests to execute in 2 days what do u do? - Adhoc testing is done. It Covers the least basic functionalities to verify that the system is working fine.
    31. What does it mean when a check point is in red color? what do u do? - A red color indicates failure. Here we analyze the cause for failure whether it is a scrīpt Issue or Environment Issue or a Application issue.
    32. What is Object Spy in QTP? - Using the Object Spy, you can view the properties of any object in an open application. You use the Object Spy pointer to point to an object. The Object Spy displays the selected object’s hierarchy tree and its properties and values in the Properties tab of the Object Spy dialog box.
    33. What is the file extension of the code file & object repository file in QTP? - Code file extension is.vbs and object repository is.tsr
    34. Explain the concept of object repository & how QTP recognizes objects? - Object Repository: displays a tree of all objects in the current component or in the current action or entire test (depending on the object repository mode you selected). We can view or modify the test object descrīption of any test object in the repository or to add new objects to the repository. Quicktest learns the default property values and determines in which test object class it fits. If it is not enough it adds assistive properties, one by one to the descrīption until it has compiled the unique descrīption. If no assistive properties are available, then it adds a special Ordinal identifier such as objects location on the page or in the source code.
    35. What are the properties you would use for identifying a browser & page when using descrīptive programming? - Name would be another property apart from title that we can use.
    36. Give me an example where you have used a COM interface in your QTP project? - com interface appears in the scenario of front end and back end. for eg:if you r using oracle as back end and front end as VB or any language then for better compatibility we will go for an interface. of which COM will be one among those interfaces. Create object creates handle to the instance of the specified object so that we program can use the methods on the specified object. It is used for implementing Automation(as defined by Microsoft).
    37. Explain in brief about the QTP Automation Object Model. - Essentially all configuration and run functionality provided via the Quick Test interface is in some way represented in the Quick Test automation object model via objects, methods, and properties. Although a one-on-one comparison cannot always be made, most dialog boxes in Quick Test have a corresponding automation object, most options in dialog boxes can be set and/or retrieved using the corresponding object property, and most menu commands and other operations have corresponding automation methods. You can use the objects, methods, and properties exposed by the Quick Test automation object model, along with standard programming elements such as loops and conditional statements to design your program.
  • Decision table

    2008-05-26 14:20:56

    Decision tables are a precise yet compact way to model complicated logic. Decision tables, like if-then-else and switch-case statements, associate conditions with actions to perform. But, unlike the control structures found in traditional programming languages, decision tables can associate many independent conditions with several actions in an elegant way.

    Structure

    Decision tables are typically divided into four quadrants, as shown below.

    The four quadrants
    Conditions Condition alternatives
    Actions Action entries

    Each decision corresponds to a variable, relation or predicate whose possible values are listed among the condition alternatives. Each action is a procedure or operation to perform, and the entries specify whether (or in what order) the action is to be performed for the set of condition alternatives the entry corresponds to. Many decision tables include in their condition alternatives the don't care symbol, a hyphen. Using don't cares can simplify decision tables, especially when a given condition has little influence on the actions to be performed. In some cases, entire conditions thought to be important initially are found to be irrelevant when none of the conditions influence which actions are performed.

    Aside from the basic four quadrant structure, decision tables vary widely in the way the condition alternatives and action entries are represented. Some decision tables use simple true/false values to represent the alternatives to a condition (akin to if-then-else), other tables may use numbered alternatives (akin to switch-case), and some tables even use fuzzy logic or probabilistic representations for condition alternatives. In a similar way, action entries can simply represent whether an action is to be performed (check the actions to perform), or in more advanced decision tables, the sequencing of actions to perform (number the actions to perform).

    Example

    The limited-entry decision table is the simplest to describe. The condition alternatives are simple boolean values, and the action entries are check-marks, representing which of the actions in a given column are to be performed.

    A technical support company writes a decision table to diagnose printer problems based upon symptoms described to them over the phone from their clients.

    Printer troubleshooter
    Rules
    Conditions Printer does not print Y Y Y Y N N N N
    A red light is flashing Y Y N N Y Y N N
    Printer is unrecognized Y N Y N Y N Y N
    Actions Check the power cable     X          
    Check the printer-computer cable X   X          
    Ensure printer software is installed X   X   X   X  
    Check/replace ink X X     X X    
    Check for paper jam   X   X        

    Of course, this is just a simple example (and it does not necessarily correspond to the reality of printer troubleshooting), but even so, it demonstrates how decision tables can scale to several conditions with many possibilities.

    Software engineering benefits

    Decision tables make it easy to observe that all possible conditions are accounted for. In the example above, every possible combination of the three conditions is given. In decision tables, when conditions are omitted, it is obvious even at a glance that logic is missing. Compare this to traditional control structures, where it is not easy to notice gaps in program logic with a mere glance --- sometimes it is difficult to follow which conditions correspond to which actions!

    Just as decision tables make it easy to audit control logic, decision tables demand that a programmer think of all possible conditions. With traditional control structures, it is easy to forget about corner cases, especially when the else statement is optional. Since logic is so important to programming, decision tables are an excellent tool for designing control logic. In one incredible anecdote, afte failed 6 man-year attempt to describe program logic for a file maintenance system using flow charts, four people solved the problem using decision tables in just sixteen man-weeks.

  • Keyword-driven testing

    2008-05-19 17:00:28

    Keyword-driven testing (also: table-driven testing, action-word testing) is a software testing methodology. Although keyword testing can be used for manual testing, it is a technique particularly well suited to automated testing. The advantages for automated tests are the reusability and therefore ease of maintenance of tests which have been created at a high level of abstraction.

    The keyword-driven testing methodology divides test creation into two stages.

    Planning Stage

    Implementation Stage

    Although this methodology requires more planning and a longer initial time-investment than going directly to the test creation stage and recording a test, it does make the test creation and test maintenance stages more efficient and keeps the structure of individual tests more readable and easier to modify. The more abstract keywords are, the more reusable they are, and therefore the easier a test is to maintain. As well as reducing the cost and time spent maintaining and updating tests, the modular structure of keyword-driven testing means that new tests can easily be created from pre-existing modules.

    Another advantage is the reduction in technical know-how required for the test automation process. In the first approach, technical know-how is only required by the engineers that implement the keywords. In the second approach, even this is not required, which means that the test team is capable of entirely automating tests, even without programming knowledge

  • Integration testing

    2008-05-19 11:14:32

    Integration testing (sometimes called Integration and Testing, abbreviated I&T) is the phase of software testing in which individual software modules are combined and tested as a group. It follows unit testing and precedes system testing.

    Integration testing takes as its input modules that have been unit tested, groups them in larger aggregates, applies tests defined in an integration test plan to those aggregates, and delivers as its output the integrated system ready for system testing.

    The purpose of integration testing is to verify functional, performance and reliability requirements placed on major design items. These "design items", i.e. assemblages (or groups of units), are exercised through their interfaces using black box testing, success and error cases being simulated via appropriate parameter and data inputs. Simulated usage of shared data areas and inter-process communication is tested and individual subsystems are exercised through their input interface. Test cases are constructed to test that all components within assemblages interact correctly, for example across procedure calls or process activations, and this is done after testing individual modules, i.e. unit testing.

    The overall idea is a "building block" approach, in which verified assemblages are added to a verified base which is then used to support the integration testing of further assemblages.

    Some different types of integration testing are big bang, top-down, and bottom-up.

  • Three days' mourning for earthquake victims

    2008-05-19 10:36:19

    CHINA has declared three days of national mourning for earthquake victims and ordered a suspension of the Olympic torch relay, after revising the magnitude of last Monday's quake to 8.0 from 7.8 on the Richter scale and raising the death toll to nearly 32,500.

    The State Council, China's Cabinet, said the mourning period would start today and include three minutes of silence observed nationwide at 2:28pm, exactly a week after the quake struck Sichuan.

    The public is asked to stand in silence for three minutes, while automobiles, trains and ships will sound their sirens.
  • Dynamic testing

    2008-05-16 16:27:39

    Dynamic testing (or dynamic analysis) is a term used in software engineering to describe the testing of the dynamic behavīor of code. That is, dynamic analysis refers to the examination of the physical response from the system to variables that are not constant and change with time. In dynamic testing the software must actually be compiled and run; this is in contrast to static testing. Dynamic testing is the validation portion of Verification and Validation.

    Some of dynamic testing methodologies include unit testing, integration testing, system testing and acceptance testing.

    Dynamic Testing involves working with the software, giving input values and checking if the output is as expected. These are the Validation activities. Unit Tests, Integration Tests, System Tests and Acceptance Tests are few of the Dynamic Testing methodologies.

     
  • Boundary value analysis

    2008-05-16 15:44:34

    Boundary value analysis is a software testing design technique to determine test cases covering off-by-one errors. The boundaries of software component input ranges are areas of frequent problems.

    Testing experience has shown that especially the boundaries of input ranges to a software component are liable to defects. A programmer implement e.g. the range 1 to 12 at an input, which e.g. stands for the month January to December in a date, has in his code a line checking for this range. This may look like:

    if (month > 0 && month < 13)
    

    But a common programming error may check a wrong range e.g. starting the range at 0 by writing:

    if (month >= 0 && month < 13)
    

    For more complex range checks in a program this may be a problem which is not so easily spotted as in the above simple example.

    To set up boundary value analysis test cases you first have to determine which boundaries you have at the interface of a software component. This has to be done by applying the equivalence partitioning technique. Boundary value analysis and equivalence partitioning are inevitably linked together. For the example of the month in a date you would have the following partitions:


            ... -2 -1  0 1 .............. 12 13  14  15 ..... 
          --------------|-------------------|---------------------
     invalid partition 1     valid partition    invalid partition 2
    


    Applying boundary value analysis you have to select now a test case at each side of the boundary between two partitions. In the above example this would be 0 and 1 for the lower boundary as well as 12 and 13 for the upper boundary. Each of these pairs consists of a "clean" and a "dirty" test case. A "clean" test case should give you a valid operation result of your program. A "dirty" test case should lead to a correct and specified input error treatment such as the limiting of values, the usage of a substitute value, or in case of a program with a user interface, it has to lead to warning and request to enter correct data. The boundary value analysis can have 6 testcases.n, n-1,n+1 for the upper limit and n, n-1,n+1 for the lower limit.

    A further set of boundaries has to be considered when you set up your test cases. A solid testing strategy also has to consider the natural boundaries of the data types used in the program. If you are working with signed values this is especially the range around zero (-1, 0, +1). Similar to the typical range check faults, programmers tend to have weaknesses in their programs in this range. e.g. this could be a division by zero problem where a zero value may occur although the programmer always thought the range started at 1. It could be a sign problem when a value turns out to be negative in some rare cases, although the programmer always expected it to be positive. Even if this critical natural boundary is clearly within an equivalence partition it should lead to additional test cases checking the range around zero. A further natural boundary is the natural lower and upper limit of the data type itself. E.g. an unsigned 8-bit value has the range of 0 to 255. A good test strategy would also check how the program reacts at an input of -1 and 0 as well as 255 and 256.

    The tendency is to relate boundary value analysis more to the so called black box testing ,which is strictly checking a software component at its interfaces, without consideration of internal structures of the software. But looking closer at the subject, there are cases where it applies also to white box testing.

    After determining the necessary test cases with equivalence partitioning and subsequent boundary value analysis, it is necessary to define the combinations of the test cases when there are multiple inputs to a software component.

     
  • Equivalence partitioning

    2008-05-16 13:40:04

    Equivalence partitioning is a software testing related technique with the goal:

    1. To reduce the number of test cases to a necessary minimum.
    2. To select the right test cases to cover all possible scenarios.

    Although in rare cases equivalence partitioning is also applied to outputs of a software component, typically it is applied to the inputs of a tested component. The equivalence partitions are usually derived from the specification of the component's behaviour. An input has certain ranges which are valid and other ranges which are invalid. This may be best explained at the following example of a function which has the pass parameter "month" of a date. The valid range for the month is 1 to 12, standing for January to December. This valid range is called a partition. In this example there are two further partitions of invalid ranges. The first invalid partition would be <= 0 and the second invalid partition would be >= 13.

            ... -2 -1  0 1 .............. 12 13  14  15 ..... 
          --------------|-------------------|---------------------
     invalid partition 1     valid partition    invalid partition 2
    

    The testing theory related to equivalence partitioning says that only one test case of each partition is needed to evaluate the behaviour of the program for the related partition. In other words it is sufficient to select one test case out of each partition to check the behaviour of the program. To use more or even all test cases of a partition will not find new faults in the program. The values within one partition are considered to be "equivalent". Thus the number of test cases can be reduced considerably.

    An additional effect by applying this technique is that you also find the so called "dirty" test cases. An inexperienced tester may be tempted to use as test cases the input data 1 to 12 for the month and forget to select some out of the invalid partitions. This would lead to a huge number of unnecessary test cases on the one hand, and a lack of test cases for the dirty ranges on the other hand.

    The tendency is to relate equivalence partitioning to so called black box testing which is strictly checking a software component at its interface, without consideration of internal structures of the software. But having a closer look at the subject there are cases where it applies to white box testing as well. Imagine an interface to a component which has a valid range between 1 and 12 like in the example above. However internally the function may have a differentiation of values between 1 and 6 and the values between 7 and 12. Depending on the input value the software internally will run through different paths to perform slightly different actions. Regarding the input and output interfaces to the component this difference will not be noticed, however in your white-box testing you would like to make sure that both paths are examined. To achieve this it is necessary to introduce additional equivalence partitions which would not be needed for black-box testing. For this example this would be:

            ... -2 -1  0 1 ..... 6 7 ..... 12 13  14  15 ..... 
          --------------|---------|----------|---------------------
     invalid partition 1      P1         P2     invalid partition 2
                           valid partitions
     
    

    To check for the expected results you would need to evaluate some internal intermediate values rather than the output interface.

    Equivalence partitioning is no stand alone method to determine test cases. It has to be supplemented by boundary value analysis. Having determined the partitions of possible inputs the method of boundary value analysis has to be applied to select the most effective test cases out of these partitions.

     
  • Data-driven testing

    2008-05-15 16:26:30

    Data-driven testing is a methodology used in Test automation where test scrīpts are executed and verified based on the data values stored in one or more central data sources or databases. These databases can range from datapools, ODBC sources, csv files, Excel files, DAO objects, ADO objects, etc. Data-driven testing is the establishment of several interacting test scrīpts together with their related data results in a framework used for the methodology. In this framework, variables are used for both input values and output verification values: navigation through the program, reading of the data sources, and logging of test status and information are all coded in the test scrīpt. Thus, the logic executed in the scrīpt is also dependant on the data values.

    This is similar to Keyword-driven testing in that the test case is contained in the data values and not in the test scrīpt; the scrīpt is just a "driver" or delivery mechanism for the data. Unlike in keyword-driven testing, though, the navigation data isn't contained in the test scrīpt. In data-driven testing, only test data is contained in the data source.

  • Daily build

    2008-05-15 14:13:31

    A daily build is the practice of each day doing a software build of the latest version of a program. This is so it can first be compiled to ensure that all required dependencies are present, and possibly tested to show no bugs have been introduced. In this context a build is the result of compiling and linking all the files that make up a computer program. The use of such disciplined procedures as daily builds is particularly necessary in large organizations where many programmers are working on a single piece of software. Performing daily builds helps ensure that developers can work knowing with reasonable certainty that any new bugs that show up are a result of their own work done within the last day. Daily builds typically include a set of tests, sometimes called a smoke test ( as in where there is smoke there is fire). These tests are included to assist in determining what may have been broken by the changes included in the latest build. The critical piece of this process is to include new and revised tests as the project progresses.

  • Acceptance testing

    2008-05-15 11:01:13

    In engineering and its various subdisciplines, acceptance testing is black-box testing performed on a system (e.g. software, lots of manufactured mechanical parts, or batches of chemical products) prior to its delivery. In some engineering subdisciplines, it is known as functional testing, black-box testing, release acceptance, QA testing, application testing, confidence testing, final testing, validation testing, usability testing,, or factory acceptance testing.

    In most environments, acceptance testing by the system provider is distinguished from acceptance testing by the customer (the user or client) prior to accepting transfer of ownership. In such environments, acceptance testing performed by the customer is known as beta testing, user acceptance testing (UAT), end user testing, site (acceptance) testing, or field (acceptance) testing.

    Overview

    Acceptance testing generally involves running a suite of tests on the completed system. Each individual test, known as a case, exercises a particular operating condition of the user's environment or feature of the system, and will result in a pass or fail boolean outcome. There is generally no degree of success or failure. The test environment is usually designed to be identical, or as close as possible, to the anticipated user's environment, including extremes of such. These test cases must each be accompanied by test case input data or a formal descrīption of the operational activities (or both) to be performed—intended to thoroughly exercise the specific case—and a formal descrīption of the expected results.

    Process

    The acceptance test suite is run against the supplied input data or using an acceptance test scrīpt to direct the testers. Then the results obtained are compared with the expected results. If there is a correct match for every case, the test suite is said to pass. If not, the system may either be rejected or accepted on conditions previously agreed between the sponsor and the manufacturer.

    The objective is to provide confidence that the delivered system meets the business requirements of both sponsors and users. The acceptance phase may also act as the final quality gateway, where any quality defects not previously detected may be uncovered.

    A principal purpose of acceptance testing is that, once completed successfully, and provided certain additional (contractually agreed) acceptance criteria are met, the sponsors will then sign off on the system as satisfying the contract (previously agreed between sponsor and manufacturer), and deliver final payment.

    User acceptance testing

    User Acceptance Testing (UAT) is a process to obtain confirmation by a Subject Matter Expert (SME), preferably the owner or client of the object under test, through trial or review, that the modification or addition meets mutually agreed-upon requirements. In software development, UAT is one of the final stages of a project and often occurs before a client or customer accepts the new system.

    Users of the system perform these tests, which developers derive from the client's contract or the user requirements specification.

    Test designers draw up formal tests and devise a range of severity levels. It is preferable that the designer of the user acceptance tests not be the creator of the formal integration and system test cases for the same system, however there are some situations where this may not be avoided. The UAT acts as a final verification of the required business function and proper functioning of the system, emulating real-world usage conditions on behalf of the paying client or a specific large customer. If the software works as intended and without issues during normal use, one can reasonably infer the same level of stability in production. These tests, which are usually performed by clients or end-users, are not usually focused on identifying simple problems such as spelling errors and cosmetic problems, nor show stopper bugs, such as software crashes; testers and developers previously identify and fix these issues during earlier unit testing, integration testing, and system testing phases.

    The results of these tests give confidence to the clients as to how the system will perform in production. They may also be a legal or contractual requirement for acceptance of the system.

    Acceptance Testing in Extreme Programming

    Acceptance testing is a term used in agile software development methodologies, particularly Extreme Programming, referring to the functional testing of a user story by the software development team during the implementation phase.

    The customer specifies scenarios to test when a user story has been correctly implemented. A story can have one or many acceptance tests, whatever it takes to ensure the functionality works. Acceptance tests are black box system tests. Each acceptance test represents some expected result from the system. Customers are responsible for verifying the correctness of the acceptance tests and reviewing test scores to decide which failed tests are of highest priority. Acceptance tests are also used as regression tests prior to a production release. A user story is not considered complete until it has passed its acceptance tests. This means that new acceptance tests must be created for each iteration or the development team will report zero progress.

  • 深入浅出的英语口语400句(二)

    2008-05-14 18:31:31

    81. Enjoy yourself! 祝你玩得开心!

    82. Excuse me,Sir. 先生,对不起。

    83. Give me a hand! 帮帮我!

    84. How's it going? 怎么样?

    85. I have no idea. 我没有头绪。

    86. I just made it! 我做到了!

    87. I'll see to it 我会留意的。

    88. I'm in a hurry! 我在赶时间!

    89. It's her field. 这是她的本行。

    90. It's up to you. 由你决定。

    91. Just wonderful! 简直太棒了!

    92. What about you? 你呢?

    93. You owe me one.你欠我一个人情。

    94. You're welcome. 不客气。

    95. Any day will do. 哪一天都行。

    96. Are you kidding? 你在开玩笑吧!

    97. Congratulations! 祝贺你!

    98. I can't help it. 我情不自禁。

    99. I don't mean it. 我不是故意的。

    100. I'll fix you Up. 我会帮你打点的。

    101. It sounds great!. 听起来很不错。

    102. It's a fine day。 今天是个好天。

    103. So far,So good. 目前还不错。

    104. What time is it? 几点了?

    105. You can make it! 你能做到!

    106. Control yourself! 克制一下!

    107. He came by train. 他乘火车来。

    108. He is ill in bed. 他卧病在床。

    109. He lacks courage. 他缺乏勇气。

    110. How's everything? 一切还好吧?

    111. I have no choice. 我别无选择。

    112. I like ice-cream. 我喜欢吃冰淇淋。

    113. I love this game. 我钟爱这项运动。

    114. I'll try my best. 我尽力而为。

    115. I'm on your side. 我全力支持你。

    116. Long time no see! 好久不见!

    117. No pain,no gain. 不劳无获。

    118. Well,it depends. 噢,这得看情况。

    119. We're all for it. 我们全都同意。

    120. What a good deal! 真便宜!

    121. What should I do? 我该怎么办?

    122. You asked for it! 你自讨苦吃!

    123. You have my word. 我保证。

    124. Believe it or not! 信不信由你!

    125. Don't count on me.别指望我。

    126. Don't fall for it! 别上当!

    127. Don't let me down. 别让我失望。

    128. Easy come easy go. 来得容易,去得快。

    129. I beg your pardon. 请你原谅。

    130. I beg your pardon? 请您再说一遍(我没有听清)。

    131. I'll be back soon. 我马上回来。

    132. I'll check it out. 我去查查看。

    133. It’s a long story. 说来话长。

    134. It’s Sunday today. 今天是星期天。

    135. Just wait and see! 等着瞧!

    136. Make up your mind. 做个决定吧。

    137. That's all I need. 我就要这些。

    138. The view is great. 景色多么漂亮!

    139. The wall has ears. 隔墙有耳。

    140. There comes a bus. 汽车来了。

    141. What day is today? 今天星期几?

    142. What do you think? 你怎么认为?

    143. Who told you that? 谁告诉你的?

    144. Who's kicking off? 现在是谁在开球?

    145. Yes,I suppose so. 是的,我也这么认为。

    146. You can't miss it. 你一定能找到的。

    147. Any messages for me? 有我的留言吗?

    148. Don't be so modest. 别谦虚了。

    149. Don't give me that! 少来这套!

    150. He is a smart boy. 他是个小机灵鬼。

    151. He is just a child. 他只是个孩子。

    152. I can't follow you. 我不懂你说的。

    153. I felt sort of ill. 我感觉有点不适。

    154. I have a good idea! 我有一个好主意。

    155. It is growing cool. 天气渐渐凉爽起来。

    156. It seems all right. 看来这没问题。

    157. It's going too far. 太离谱了。

    158. May I use your pen? 我可以用你的笔吗?

    159. She had a bad cold. 她患了重感冒。

    160. That's a good idea. 这个主意真不错。

  • 深入浅出的英语口语400句(一)

    2008-05-14 18:24:45

    1. I see. 我明白了。

    2. I quit! 我不干了!

    3. Let go! 放手!

    4. Me too. 我也是。

    5. My god! 天哪!

    6. No way! 不行!

    7. Come on. 来吧(赶快)

    8. Hold on. 等一等。

    9. I agree。 我同意。

    10. Not bad. 还不错。

    11. Not yet. 还没。

    12. See you. 再见。

    13. Shut up! 闭嘴!

    14. So long. 再见。

    15. Why not? 好呀! (为什么不呢?)

    16. Allow me. 让我来。

    17. Be quiet! 安静点!

    18. Cheer up! 振作起来!

    19. Good job! 做得好!

    20. Have fun! 玩得开心!

    21. How much? 多少钱?

    22. I'm full. 我饱了。

    23. I'm home. 我回来了。

    24. I'm lost. 我迷路了。

    25. My treat. 我请客。

    26. So do I. 我也一样。

    27. This way。 这边请。

    28. After you. 您先。

    29. Bless you! 祝福你!

    30. Follow me. 跟我来。

    31. Forget it! 休想! (算了!)

    32. Good luck! 祝好运!

    33. I decline! 我拒绝!

    34. I promise. 我保证。

    35. Of course! 当然了!

    36. Slow down! 慢点!

    37. Take care! 保重!

    38. They hurt. (伤口)疼。

    39. Try again. 再试试。

    40. Watch out! 当心。

    41. What's up? 有什么事吗?

    42. Be careful! 注意!

    43. Bottoms up! 干杯(见底)!

    44. Don't move! 不许动!

    45. Guess what? 猜猜看?

    46. I doubt it 我怀疑。

    47. I think so. 我也这么想。

    48. I'm single. 我是单身贵族。

    49. Keep it up! 坚持下去!

    50. Let me see.让我想想。

    51. Never mind.不要紧。

    52. No problem! 没问题!

    53. That's all! 就这样!

    54. Time is up. 时间快到了。

    55. What's new? 有什么新鲜事吗?

    56. Count me on 算上我。

    57. Don't worry. 别担心。

    58. Feel better? 好点了吗?

    59. I love you! 我爱你!

    60. I'm his fan。 我是他的影迷。

    61. Is it yours? 这是你的吗?

    62. That's neat. 这很好。

    63. Are you sure? 你肯定吗?

    64. Do l have to 非做不可吗?

    65. He is my age. 他和我同岁。

    66. Here you are. 给你。

    67. No one knows . 没有人知道。

    68. Take it easy. 别紧张。

    69. What a pity! 太遗憾了!

    70. Any thing else? 还要别的吗?

    71. To be careful! 一定要小心!

    72. Do me a favor? 帮个忙,好吗?

    73. Help yourself. 别客气。

    74. I'm on a diet. 我在节食。

    75. Keep in Touch. 保持联络。

    76. Time is money. 时间就是金钱。

    77. Who's calling? 是哪一位?

    78. You did right. 你做得对。

    79. You set me up! 你出卖我!

    80. Can I help you? 我能帮你吗?

  • "打岔"、"插嘴"的十句话

    2008-05-14 15:43:02

       1. I'm sorry to interrupt your conversation, but I've got something urgent to tell you.

      抱歉打断你们的谈话,但我有急事要告诉你。

      2. Sorry to butt in.

      抱歉,打岔一下。

      3. I'm sorry to barge in like this, but I need your help with a problem.

      很抱歉这样打断你们,但我需要你帮我解决一个问题。

      4. Wait, can I put in a word here?

      等一下,我可以插句话吗?

      5. Can I say something?

      我可以说句话吗?

      6. She kept cutting in when I was making my point.

      我表示意见的时候她一直打断我的话。

      7. He chipped in when I was about to answer his question.

      我正准备回答他问题的时候,他就打断我的话。

      8. He always breaks in on our discussions.

      他老是打断我们的讨论。

      9. My boss got really mad when his secretary chimed in during the meeting.

      我老板的秘书在开会的时候插嘴,把他弄得很火大。

      10. It's very impolite to interpose in such a formal seminar.

       在这么正式的研讨会里插嘴是很不礼貌的。
  • 关于“特价”的几种说法

    2008-05-14 15:20:43

       special offer:特供,特价

      reduced price:减价,削价

      reduced to clear:削价处理

      close-down sale:(店关闭前的)大甩卖

      all stocks must go:大清仓

      by-one-get-one-free:买一送一

      30% extra free:加送30%(重量)

      discount:折扣

      10% off:九折

      factory outlet:工厂削价产品
  • 表示喜怒哀乐的英文短句

    2008-05-14 15:18:28

    1.人们在欢乐中会情不自禁地发出欢呼:

      How glad i am!多么高兴啊!

      I did it!我做到了!

      I made it!我做到了!

      I'm so happy!我是多高兴啊!

      How nice!多好啊!

      Thank God!感谢上帝!

      

      2.当人们极度快乐时,会出现欢呼的场合:

      Oh,good!噢,好!

      Well done!干得好!

      Hurrah!好哇!

      Great!好极了!

      Excellent!妙!

      Splendid!真好!



      3.愤怒或厌恶的句子:

      Well!well!够了!

      I say!喂!

      Fancy!哼!

      Golly!哼!

      Well,i never!我真是没见过!

      You don't say!你敢再说一遍!

      Fie,for shame!呸,不要脸!

      Hell!畜生!

      Go to hell!该死!

      Confound it!真该死!

      Confound you !混帐!

      Damn you!该死的!
281/212>

数据统计

  • 访问量: 14006
  • 日志数: 129
  • 建立时间: 2007-09-12
  • 更新时间: 2008-08-08

RSS订阅

Open Toolbar