You are on page 1of 64

What is Web application?

It is Software application that is accessed over a network such as the Internet or an intranet through a web browser. Web application provides services (Free and Paid) apart from information. Ex: Online Banking System it provides Bank information, Branches & ATM Information, Loans information etcAnd It provides balance enquiry, Fund transfer, Bill payments like services. What is Web browser? Web browser is a software application used to locate, retrieve and also display content on the World Wide Web, including Web pages, images, videos and other files. Examples: Google Chrome, Mozilla Firefox, Internet Explorer, Opera, Safari. What is website? Basically website is an information provider; it provides information globally using internet protocols. What is WWW? The term WWW refers to the World Wide Web or simply the Web. The World Wide Web consists of all the public Web sites connected to the Internet worldwide, including the client devices (such as computers and cell phones) that access Web content. The WWW is just one of many applications of the Internet and computer networks. What is Web portal? Web portal is a business gateway, It organizes business operations. Ex: Online shopping portals, Job portals etc What is Web server? Web server handles Clint side and server side validations and helps to deliver Web content that can be accessed through the Internet protocols. Examples: Microsoft IIS (Internet Information Service) Apache Web server from Apache Java Web server Pramathi web ser ver etc How to perform Web Services Testing? A Web Service is a service accessed via Web. Web Service is a way to publish your application over web and enable other applications to access functions defined by your web service. Web services exposes an interface defined in Web Services Description Language (WSDL). How to test Web Forms manually and using QTP Tool? Web forms have 2 types of validations; a) Field level validations b) Field level validations Using Black Box test design techniques we can test web forms manually Using Conditional statements and built-in functions we can test web forms (Using QTP) What are possible configurations that could affect the testing strategy of any web site? Possible configurations that affect the testing strategy of any web site are hardware platform (PC, Mac), Browser software and version, Browser Plug-Ins, Browser settings options, Video resolution and Colour Depth, and text size. What are the advantages of web applications than GUI based applications? Only server side installation, client side installation is not mandatory, so deployment and maintenance is easy.It can be accessible anywhere, anytime via a PC with an Internet connection.The user

interface of web-based applications is easier to customize than it is in GUI applications. Content can also be customized for presentation on any device connected to the internet, including PDAs, mobile phones etcSupports thousands of clients effectively Adding and removing clients is very easy. What are the different types of environments available in the Web? Intranet (Local Network)Internet (Wide area Network)Extranet (Private network over Internet) What are the different types of web applications available in the Industry? We have different types of web applications available in the Industry? a) Websites Ex: http://www.aurobindo.com/, http://www.pennacement.com/ etc b) Web portals Ex: http://www.ebay.in/, http://www.naukri.com/ etc c) Web Applications Ex: www.icicibank.com/, http://www.sunlife.com/ etc d) Email Service providers Ex: www.gmail.com, www.yahoo.com, www.rediffmail.com etc e) Social Networks Ex: www.facebook.com, www.twitter.com, www.linkedin.com etc f) Discussion Forums Etc Ex: www.top100interviewquestions.com What are the important aspects in Web testing? Functional Testing (includes links testing, navigation testing etc), Security Testing, Database Testing (includes Data integrity, data manipulations, data retrievals etc..), Performance Testing (includes all types of performance like Load Testing, Stress Testing, Spike Testing, Endurance Testing and Data volume Testing), Usability Testing, Navigation testing, Configuration Testing, Compatibility Testing, Reliability Testing, Availability Testing, Scalability Testing Etc What are the important web testing activities? Forms validation Links validation Database testing Navigation testing Performance (Load, Stress and Endurance) Search operations validation Etc What is application server? Application Server also called an appserver, It is a program that handles all application operations between users and an organizations back-end business applications or databases. What is Client side validation? Validating client side forms, which is typically done by Java Script. Generally it checks weather the user is entering correct form of data or not? and entering all mandatory fields or not? Client site validation is 2 types One is Field level validation another is Form level validation.

What is Cookies Testing? A cookie is a small piece of information that sent by a web server to store on a web browser so it can later be read back from that browser. This is useful for having the browser remember some specific information. What is database server? Database server is used to refer to the back-end system of a database application using client/server architecture. The back-end, sometimes called a database server, performs tasks such as data design, storage, data manipulations, archiving, and other non-user specific tasks. Examples: Oracle, MS SQL Server, MySQL (Open source), IBM DB2 etc What is difference between client server and Web Testing? The difference between client server and Web Testing: In client server application you have two different components to test. Application is loaded on server machine while the application exe on every client machine. You will test broadly in categories like, GUI on both sides, functionality, Load, client-server interaction, back-end. This environment is mostly used in Intranet networks. You are aware of number of clients and servers and their locations in the test scenario. Web application is a bit different and complex to test as tester dont have that much control over the application. Application is loaded on the server whose location may or may not be known and no exe is installed on the client machine, you have to test it on different web browsers. Web applications are supposed to be tested on different browsers and OS platforms so broadly Web application is tested mainly for browser compatibility and operating system compatibility, error handling, static pages, back-end testing and load testing. What is extranet application? It is also a private application over internet, can be accessed by fixed machines only. It uses Wide area network and Internet Protocol technology to share information. What is HTML? HTML stands for Hyper Text Markup Language, it is for displaying web pages and other information. Basically it is data presenter in the web. What is HTTP? Hyper Text Transfer Protocol, the data transfer protocol used on the World Wide Web. What is HTTPS? HTTPS stands for Hypertext Transfer Protocol Secure is a widely-used communications protocol for secure communication over a computer network. What is internet application? Generally it is a public web application, uses Wide area network. It can be accessed from anywhere. What is intranet application? It is a private application, can be accessed within the Organization only. It uses Local /Private Network and Internet Protocol technology to share information. What is purpose of Java Script in the Web? It is for performing client side validations.

What is Server side validation? Validating, processing client requests and providing response from the Server. What is the difference among Intranet, Internet and Extranet web applications? Intranet: It is a private network(Within the Organization) uses LAN/MAN Technologies Internet: It is a Public network uses WAN Technology Extranet: It also private network over Internet What is the difference between desktop application testing and web testing? Desktop testing is standalone testing. Desktop need not worry about number of user etc. Web testing is related to client server. Web testing needs to have many testings like usability, GUI, and Load Testing. Which different test scenarios will you consider when you are testing a website? The first scenario to be tested is the GUI. The page layout and the design elements used on the website have to be uniform throughout the website. The next part to be tested is the different links provided inside the website. Along with the links, it will also have to be tested, whether internal navigation is smooth and also check if it is complex. The next important aspect to be checked is the response time of the website. This will also have to checked, when there is heavy load on the system. Explain the difference between authentication and authorization during web testing? Authentication is the process with which the system identifies the user. The goal is to ensure that the user is indeed a user, who he claims to be. There are different types of authentications, which can be used like password based authentication, device based authentication, etc. On the other hand, authorization is the process after the authentication process. In this process the system will decide whether a particular task can be performed by the user, does he have the necessary permissions, etc? Which are the different test case formats that are a part of web testing? The test case formats will vary depending on whether the website is a static website or a dynamic website. The static website will have the front end test cases, navigation test cases. On the other hand, if the website is a dynamic website, then the test cases will be broadly divided under front end test cases, back end test cases, field validations test cases, database test cases, security test cases, etc. Which are the HTTP Response Objects? Some of the HTTP Response Objects are write, flush, tell, etc. The subclasses of HTTP Response are HttpResponseRedirect, HttpResponsePermanentRedirect, HttpResponseBadRequest, HttpResponseNotFound, etc. What is a proxy server? A proxy server is a server, which behaves like an intermediary between the client and the main server. Therefore, the requests onto the main server are first sent to the proxy server from the client system, which are then forwarded to the main server. The response from the main server is sent to the client through the proxy server itself. The request and/or the response may be modified by the proxy server depending on the filtering rules of the server. Is usability testing possible while testing a website? Usability testing is indeed an important part of web testing. In usability testing, it is checked, whether the website is user-friendly. Is it possible for the user to move around easily within the webpage? Is there any sort of ambiguity on the webpage, which can hinder the user experience? While testing a website, which are the different configurations which will have to be considered these configurations may demand for change in strategy of the webpage. The most important factor that needs consideration is the hardware platform, while some may use the Mac platform, some may use Linux, while others may use Microsoft platform. The next comes the

browsers and their versions into the picture. Along with the browser versions, the different Plug-Ins also have to be taken into consideration. The resolution of the monitor also with color depth and text size are some of the other configurations. Which are the common browsers, where a web application should be tested? The browsers that are commonly used are Mozilla Firefox, Google Chrome, Internet Explorer and Opera. Therefore, a web application must be tested on these browsers as well. How are the static websites different than the dynamic websites? Static websites only give out information to the user and the user does not have any sort of interaction with the website. On the other hand, dynamic websites are the ones, where the user communicates with the system and is asked for information. On providing the required information, he may be able to retrieve the information he is looking for. What are the common problems faced in web testing? The most common problem faced during web testing is the server problem. The server can either be down or it can be under maintenance. The next problem, which is often faced in web testing is database problem, where the connection to the database can be broken. In some cases, there can be hardware compatibility problems, when one is testing a web application. What is the purpose of VbScript in the Web? It can be used for client side validations as well as Server side validations. What is Web Services? Web services are application components, communicate using open protocols and these can be used by other applications. XML is the basis for Web services SOAP (Simple Object Access Protocol), UDDI (Universal Description, Discovery and Integration) and WSDL (Web Services Description Language) are the Web services platform elements. What the latest web technologies do you know? Latest web technologies are: The main three web tracks: 1. Microsoft ASP.Net Track + SQL Server database engine (IDE: Expression Web, Visual Studio). 2. Oracle Java Track + Oracle database engine (IDE: NetBeans, Eclipse). 3. PHP Track + MySQL database engine (IDE: Zend Studio, DreamWeaver). There are many new concepts and enhanced methodologies like Ajax, JQuery, JSON, and so on. What types HTTP Response Codes do you know? Types of HTTP Response Codes are: 2xx success, 3xx Redirection, 4xx Client Error, 5xx Server Error What types of web testing security problems do you know? Types of web testing security problems are: Denial of Service (DoS) attack, buffer overflow etc

What is Software Testing? Testing involves operation of a system or application under controlled conditions and evaluating the results. Testing should intentionally attempt to make things go wrong to determine if things happen when they shouldnt or things dont happen when they should.

What is Software Quality Assurance? Software QA involves the entire software development PROCESS monitoring and improving the process, making sure that any agreed-upon standards and procedures are followed, and ensuring that problems are found and dealt with. What is Acceptance testing? User acceptance testing is the final test action taken before deploying the software. The goal of acceptance testing is to verify that the software is ready, and that it can be used by end users to perform those functions and tasks for which the software was built Does every software project need testers? It depends on the size and context of the project, the risks, the development methodology, the skill and experience of the developers. If the project is a short-term, small, low risk project, with highly experienced programmers utilizing thorough unit testing or test-first development, then test engineers may not be required for the project to succeed. For non-trivial-size projects or projects with non-trivial risks, a testing staff is usually necessary. The use of personnel with specialized skills enhances an organizations ability to be successful in large, complex, or difficult tasks. It allows for both a) deeper and stronger skills and b) the contribution of differing perspectives. How can World Wide Web sites be tested? Some of the considerations might include: a. Testing the required securities to be implemented and verified. b. Performance expected on the client side c. Testing the expected loads on the server d. Testing the HTML specification, external and internal links e. cgi programs, applets, JavaScripts, ActiveX components, etc. to be maintained, tracked, controlled How can it be determined if a test environment is appropriate? Test environment should match exactly all possible hardware, software, network, data, and usage characteristics of the expected live environments in which the software will be used. How can it be known when to stop testing? Common factors in deciding when to stop are: a. Test cases completed with certain percentage passed b. Deadlines (release deadlines, testing deadlines, etc.) c. Coverage of code/functionality/requirements reaches a specified point d. Bug rate falls below a certain level f. Beta or alpha testing period ends e. Test budget depleted How can new Software QA processes be introduced in an existing Organization? It depends on the size of the organization and the risks involved. a. By incremental self managed team approaches. b. For small groups or projects, a more ad-hoc process may be appropriate, depending on the type of customers and projects. How can the test results be used in testing? Test Results are used to record the detailed findings of the test effort and to subsequently calculate the different key measures of testing How does a client/server environment affect testing? Client/server applications can be quite complex due to the multiple dependencies among clients, data communications, hardware, and servers, especially in multi-tier systems. Load/stress/performance testing may be useful in determining client/server application limitations and capabilities. How is testing affected by object-oriented designs? Well-engineered object-oriented design can make it easier to trace from code to internal design to functional design to requirements. If the application was well designed this can simplify test design.

What are 5 common problems in the software development process? a. Poor requirements b. Inadequate testing c. Unrealistic Schedule d. Miscommunication e. Changing requirements What are 5 common solutions to software development problems? a. Solid requirements b. Adequate testing c. Good communication among the Project team d. Clarity of requirements e. Realistic Schedule What are some recent major computer system failures caused by software bugs? Trading on a major Asian stock exchange was brought to a halt in November of 2005, reportedly due to an error in a system software upgrade. A May 2005 newspaper article reported that a major hybrid car manufacturer had to install a software fix on 20,000 vehicles due to problems with invalid engine warning lights and occasional stalling. Media reports in January of 2005 detailed severe problems with a $170 million high-profile U.S. government IT systems project. Software testing was one of the five major problem areas according to a report of the commission reviewing the project. What are the roles and responsibilities of a Tester? The Tester role is responsible for the core activities of the test effort, which involves conducting the necessary tests and logging the outcomes of that testing. The tester is responsible for identifying the most appropriate implementation approach for a given test, implementing individual tests, setting up and executing the tests, logging outcomes and verifying test execution, analyzing and recovering from execution errors. What are the skills required to be a good tester? A tester should have knowledge of testing approaches and techniques, diagnostic and problem-solving skills, knowledge of the system or application being tested, and knowledge of networking and system architecture What if the project isnt big enough to justify extensive testing? Consider the impact of project errors, not the size of the project. The tester might then do ad hoc testing, or write up a limited test plan based on the risk analysis. What if the software is so buggy it cant really be tested at all? The best bet in this situation is for the testers to go through the process of reporting whatever bugs or blocking-type problems initially show up, with the focus being on critical bugs. What if there isnt enough time for thorough testing? a. Use risk analysis to determine where testing should be focused. b. Determine the important functionalities to be tested. c. Determine the high-risk aspects of the project. d. Prioritize the kinds of testing that need to be performed. e. Determine the tests that will have the best high-risk-coverage to time-required ratio. What information does a test strategy captures? It captures an explanation of the general approach that will be used and the specific types, techniques, styles of testing What is good code? What is good design? Good code is code that works, is bug free, and is readable and maintainable. Good internal design is indicated by software code whose overall structure is clear, understandable, easily modifiable, and maintainable; is robust with sufficient error-handling and status logging capability; and works correctly when implemented. Good functional design is indicated by an application whose functionality can be traced back to customer and end-user requirements.

What is Developer testing? Developer testing denotes the aspects of test design and implementation most appropriate for the team of developers to undertake. What is Extreme Programming and whats it got to do with testing? Extreme Programming (XP) is a software development approach for small teams on risk-prone projects with unstable requirements. For testing (extreme testing, programmers are expected t o write unit and functional test code first before writing the application code. Customers are expected to be an integral part of the project team and to help develop scenarios for acceptance/black box testing. What is Integration testing? Integration testing is performed to ensure that the components in the implementation model operate properly when combined to execute a use case What is Regression testing? Retesting of a previously tested program following modification to ensure that faults have not been introduced or uncovered as a result of the changes made. What is SEI? CMM? CMMI? ISO? Will it help? These are all standards that determine effectiveness in delivering quality software. It helps organizations to identify best practices useful in helping them increase the maturity of their processes. What is System testing? A series of tests designed to ensure that the modified program interacts correctly with other system components. These test procedures typically are performed by the system maintenance staff in their development library. What is Unit testing? It is implemented against the smallest testable element (units) of the software, and involves testing the internal structure such as logic and dataflow, and the units function and observable behavio rs What is a walkthrough? Whats an inspection? A walkthrough is an informal meeting for evaluation or informational purposes. Little or no preparation is usually required. An inspection is more formalized than a walkthrough, typically with 3-8 people including a moderator, reader, and a recorder to take notes. The subject of the inspection is typically a document such as a requirements spec or a test plan, and the purpose is to find problems and see whats missing, not to fix anything. What is a test script? The step-by-step instructions that realize a test, enabling its execution. Test Scripts may take the form of either documented textual instructions that are executed manually or computer readable instructions that enable automated test execution. What is a test strategy? What is the purpose of a test strategy? It is a plan for conducting the test effort against one or more aspects of the target system. A test strategy needs to be able to convince management and other stakeholders that the approach is sound and achievable, and it also needs to be appropriate both in terms of the software product to be tested and the skills of the test team. What is independent testing? Independent testing denotes the test design and implementation most appropriately performed by someone who is independent from the team of developers. What is software quality? Quality software is reasonably bug-free, delivered on time and within budget, meets requirements and/or expectations, and is maintainable

What is test coverage? Test coverage is the measurement of testing completeness, and its based on the coverage of testing expressed by the coverage of test requirements and test cases or by the coverage of executed code. What is test data? It is a collection of test input values that are consumed during the execution of a test, and expected results referenced for comparative purposes during the execution of a test What is the role of a Test Analyst? The Test Analyst role is responsible for identifying and defining the required tests, monitoring detailed testing progress and results in each test cycle and evaluating the overall quality experienced as a result of testing activities. The role typically carries the responsibility for appropriately representing the needs of stakeholders that do not have direct or regular representation on the project. What is the role of a Test Designer? The Test Designer role is responsible for defining the test approach and ensuring its successful implementation. The role involves identifying the appropriate techniques, tools and guidelines to implement the required tests, and to give guidance on the corresponding resources requirements for the test effort What is the role of a Test Manager? The Test Manager role is tasked with the overall responsibility for the test efforts success. The role involves quality and test advocacy, resource planning and management, and resolution of issues that impede the test effort What is verification? Validation? Verification typically involves reviews and meetings to evaluate documents, plans, code, requirements, and specifications. This can be done with checklists, issues lists, walkthroughs, and inspection meetings. Validation typically involves actual testing and takes place after verifications are completed. What kinds of testing should be considered? Some of the basic kinds of testing involve: Blackbox testing, White box testing, Integration testing, Functional testing, smoke testing, Acceptance testing, Load testing, Performance testing, User acceptance testing. What makes a good Software QA engineer? They must be able to understand the entire software development process and how it can fit into the business approach and goals of the organization. Communication skills and the ability to understand various sides of issues are important. In organizations in the early stages of implementing QA processes, patience and diplomacy are especially needed. An ability to find problems as well as to see whats missing is important for inspections and reviews What makes a good Software Test engineer? A good test engineer has a test to break attitude, an ability to take the point of view of the customer, a strong desire for quality, and an attention to detail. Tact and diplomacy are useful in maintaining a cooperative relationship with developers, and an ability to communicate with both technical (developers) and non-technical (customers, management) people is useful. What should be done after a bug is found? The bug needs to be communicated and assigned to developers that can fix it. After the problem is resolved, fixes should be re-tested, and determinations made regarding requirements for regression testing to check that fixes didnt create problems elsewhere What steps are needed to develop and run software tests? a. Obtain requirements, functional design, and internal design specifications and other necessary documents b. Obtain budget and schedule requirements. c. Determine Project context.

d. Identify risks. e. Determine testing approaches, methods, test environment, test data. f. Set Schedules, testing documents. g. Perform tests. h. Perform reviews and evaluations I. Maintain and update documents Whats a test plan? Whats a test case? A software project test plan is a document that describes the objectives, scope, approach, and focus of a software testing effort. A test case is a document that describes an input, action, or event and an expected response, to determine if a feature of an application is working correctly. Whats the best approach to software test estimation? The best approach is highly dependent on the particular organization and project and the experience of the personnel involved some of the following approaches to be considered are: a. Implicit Risk Context Approach b. Metrics-Based Approach c. Test Work Breakdown Approach d. Iterative Approach e. Percentage-of-Development Approach Whats the best way to choose a test automation tool? Some of the points that can be noted before choosing a tool would be: a. testing procedures that are time consuming and repetition. b. Analyze the non-automated testing situation to determine the testing activity that is being performed. c. Evaluation of the chosen tool to explore the benefits. d. Cost/Budget of tool, Training and implementation factors.

What is Conversion Testing? Testing of programs or procedures used to convert data from existing systems for use in replacement systems. What is Cyclomatic Complexity? A measure of the logical complexity of an algorithm, used in white-box testing. What is Endurance Testing? Checks for memory leaks or other problems that may occur with prolonged execution. What is Equivalence Class? A portion of a components input or output domains for which the components behaviour is assumed to be the same from the components specification. What is Equivalence Partitioning? A test case design technique for a component in which test cases are designed to execute representatives from equivalence classes. What is Exhaustive Testing? Testing which covers all combinations of input values and preconditions for an element of the software under test. What is Exhaustive Testing? Testing which covers all combinations of input values and preconditions for an element of the software under test. What is Data Dictionary? A database that contains definitions of all data items defined during analysis.

What is Data Driven Testing? Testing in which the action of a test case is parameterized by externally defined data values, maintained as a file or spreadsheet. A common technique in Automated Testing. What is Data Flow Diagram? A modeling notation that represents a functional decomposition of a system. What is Debugging? The process of finding and removing the causes of software failures. What are 5 common problems in the software development process? 1. poor requirements if requirements are unclear, incomplete, too general, or not testable, there will be problems.2. unrealistic schedule if too much work is crammed in too little time, problems are inevitable.3. inadequate testing no one will know whether or not the program is any good until the customer complaints or systems crash.4. features requests to pile on new features after development is underway; extremely common.5. miscommunication if developers dont know whats needed or customers have erroneous expectations, problems are guaranteed. What are 5 common solutions to software development problems? 1. solid requirements clear, complete, detailed, cohesive, attainable, testable requirements that are agreed to by all players. Use prototypes to help nail down requirements. 2. realistic schedules allow adequate time for planning, design, testing, bug fixing, re-testing, changes, and documentation; personnel should be able to complete the project without burning out. 3. adequate testing start testing early on, re-test after fixes or changes, plan for adequate time for testing and bug-fixing. 4. stick to initial requirements as much as possible be prepared to defend against changes and additions once development has begun, and be prepared to explain consequences. If changes are necessary, they should be adequately reflected in related schedule changes. If possible, use rapid prototyping during the design phase so that customers can see what to expect. This will provide them a higher comfort level with their requirements decisions and minimize changes later on. 5. communication require walkthroughs and inspections when appropriate; make extensive use of group communication tools e-mail, groupware, networked bug-tracking tools and change management tools, intranet capabilities, etc.; insure that documentation is available and up-to-date preferably electronic, not paper; promote teamwork and cooperation; use prototypes early on so that customers expectations are clarified. What if an organization is growing so fast that fixed QA processes are impossible? This is a common problem in the software industry, especially in new technology areas. There is no easy solution in this situation, other than: Hire good people Management should ruthlessly prioritize quality issues and maintain focus on the customer Everyone in the organization should be clear on what quality means to the customer What is Dependency Testing? Examines an applications requirements for pre-existing software, initial states and configuration in order to maintain proper functionality. What is Depth Testing? A test that exercises a feature of a product in full detail. What is Dynamic Testing? Testing software through executing it. See also Static Testing. What is Emulator? A device, computer program, or system that accepts the same inputs and produces the same outputs as a given system. What is End-to-End testing? Testing a complete application environment in a situation that mimics real-world use, such as

interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate. What is Extreme Programming and whats it got to do with testing? Extreme Programming (XP) is a software development approach for small teams on risk-prone projects with unstable requirements. It was created by Kent Beck who described the approach in his book Extreme Programming Explained. Testing (extreme testing) is a core aspect of Extreme Programming. Programmers are expected to write unit and functional test code first before the application is developed. Test code is under source control along with the rest of the code. Customers are expected to be an integral part of the project team and to help develop scenarios for acceptance/black box testing. Acceptance tests are preferably automated, and are modified and rerun for each of the frequent development iterations. QA and test personnel are also required to be an integral part of the project team. Detailed requirements documentation is not used, and frequent rescheduling, re-estimating, and re-prioritizing is expected. What is Functional Decomposition? A technique used during planning, analysis and design; creates a functional hierarchy for the software. What is Functional Specification? A document that describes in detail the characteristics of the product with regard to its intended features. What is Functional Specification? A document that describes in detail the characteristics of the product with regard to its intended features. What is Functional Testing? Testing the features and operational behavior of a product to ensure they correspond to its specifications. Testing that ignores the internal mechanism of a system or component and focuses solely on the outputs generated in response to selected inputs and execution conditions. or Black Box Testing. What is Glass Box Testing? A synonym for White Box Testing. What is Gorilla Testing? Testing one particular module, functionality heavily. What is Gray Box Testing? A combination of Black Box and White Box testing methodologies? testing a piece of software against its specification but using some knowledge of its internal workings. What is High Order Tests? Black-box tests conducted once the software has been integrated. What is Independent Test Group (ITG)? A group of people whose primary responsibility is software testing, What is Inspection? A group review quality improvement process for written material. It consists of two aspects; product (document itself) improvement and process improvement (of both document production and inspection). What is Installation Testing? Confirms that the application under test recovers from expected or unexpected events without loss of data or functionality. Events can include shortage of disk space, unexpected loss of communication, or power out conditions.

What is Integration Testing? Testing of combined parts of an application to determine if they function together correctly. Usually performed after unit and functional testing. This type of testing is especially relevant to client/server and distributed systems. What is Load Testing? See Performance Testing. What is Localization Testing? This term refers to making software specifically designed for a specific locality. What is Loop Testing? A white box testing technique that exercises program loops. What is Metric? A standard of measurement. Software metrics are the statistics describing the structure or content of a program. A metric should be a real objective measurement of something such as number of bugs per lines of code. What is Monkey Testing? Testing a system or an Application on the fly, i.e just few tests here and there to ensure the system or an application does not crash out. What is Negative Testing? Testing aimed at showing software does not work. Also known as test to fail. See also Positive Testing. What is Path Testing? Testing in which all paths in the program source code are tested at least once. What is Performance Testing? Testing conducted to evaluate the compliance of a system or component with specified performance requirements. Often this is performed using an automated test tool to simulate large number of users. Also know as Load Testing. What is Positive Testing? Testing aimed at showing software works. Also known as test to pass. See also Negative Testing. What is Quality Assurance? All those planned or systematic actions necessary to provide adequate confidence that a product or service is of the type and quality needed and expected by the customer. What is Quality Audit? A systematic and independent examination to determine whether quality activities and related results comply with planned arrangements and whether these arrangements are implemented effectively and are suitable to achieve objectives. What is Quality Circle? A group of individuals with related interests that meet at regular intervals to consider problems or other matters related to the quality of outputs of a process and to the correction of problems or to the improvement of quality. What is Quality Control? The operational techniques and the activities used to fulfill and verify requirements of quality. What is Quality Management? That aspect of the overall management function that determines and implements the quality policy.

What is Quality Policy? The overall intentions and direction of an organization as regards quality as formally expressed by top management. What is Quality System? The organizational structure, responsibilities, procedures, processes, and resources for implementing quality management. What is Race Condition? A cause of concurrency problems. Multiple accesses to a shared resource, at least one of which is a write, with no mechanism used by either to moderate simultaneous access. What is Ramp Testing? Continuously raising an input signal until the system breaks down. What is Recovery Testing? Confirms that the program recovers from expected or unexpected events without loss of data or functionality. Events can include shortage of disk space, unexpected loss of communication, or power out conditions. What is Regression Testing? Retesting a previously tested program following modification to ensure that faults have not been introduced or uncovered as a result of the changes made. What is Release Candidate? A pre-release version, which contains the desired functionality of the final version, but which needs to be tested for bugs (which ideally should be removed before the final version is released). What is Sanity Testing? Brief test of major functional elements of a piece of software to determine if its basically operational. See also Smoke Testing. What is Scalability Testing? Performance testing focused on ensuring the application under test gracefully handles increases in work load. What is Security Testing? Testing which confirms that the program can restrict access to authorized personnel and that the authorized personnel can access the functions available to their security level. What is Smoke Testing? A quick-and-dirty test that the major functions of a piece of software work. Originated in the hardware testing practice of turning on a new piece of hardware for the first time and considering it a success if it does not catch on fire. What is Soak Testing? Running a system at high load for a prolonged period of time. For example, running several times more transactions in an entire day (or night) than would be expected in a busy day, to identify and performance problems that appear after a large number of transactions have been executed. What is Software Requirements Specification? A deliverable that describes all data, functional and behavioral requirements, all constraints, and all validation requirements for software/ What is Software Testing? A set of activities conducted with the intent of finding errors in software. What is Static Analysis? Analysis of a program carried out without executing the program.

What is Static Analyzer? A tool that carries out static analysis. What is Static Testing? Analysis of a program carried out without executing the program. What is Storage Testing? Testing that verifies the program under test stores data files in the correct directories and that it reserves sufficient space to prevent unexpected termination resulting from lack of space. This is external storage as opposed to internal storage. What is Stress Testing? Testing conducted to evaluate a system or component at or beyond the limits of its specified requirements to determine the load under which it fails and how. Often this is performance testing using a very high level of simulated load. What is Structural Testing? Testing based on an analysis of internal workings and structure of a piece of software. See also White Box Testing. What is System Testing? Testing that attempts to discover defects that are properties of the entire system rather than of its individual components. What is Test Bed? An execution environment configured for testing. May consist of specific hardware, OS, network topology, configuration of the product under test, other application or system software, etc. The Test Plan for a project should enumerated the test beds(s) to be used. What is Test Case? Test Case is a commonly used term for a specific test. This is usually the smallest unit of testing. A Test Case will consist of information such as requirements testing, test steps, verification steps, prerequisites, outputs, test environment, etc. A set of inputs, execution preconditions, and expected outcomes developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement. Test Driven Development? Testing methodology associated with Agile Programming in which every chunk of code is covered by unit tests, which must all pass all the time, in an effort to eliminate unit-level and regression bugs during development. Practitioners of TDD write a lot of tests, i.e. an equal number of lines of test code to the size of the production code. What is Test Driver? A program or test tool used to execute a tests. Also known as a Test Harness. What is Test Environment? The hardware and software environment in which tests will be run, and any other software with which the software under test interacts when under test including stubs and test drivers. What is Test First Design? Test-first design is one of the mandatory practices of Extreme Programming (XP).It requires that programmers do not write any production code until they have first written a unit test. What is Test Harness? A program or test tool used to execute a tests. Also known as a Test Driver. What is Test Plan? A document describing the scope, approach, resources, and schedule of intended testing activities. It identifies test items, the features to be tested, the testing tasks, who will do each task, and any risks requiring contingency planning.

What is Test Procedure? A document providing detailed instructions for the execution of one or more test cases. What is Test Specification? A document specifying the test approach for a software feature or combination or features and the inputs, predicted results and execution conditions for the associated tests. What is Test Suite? A collection of tests used to validate the behavior of a product. The scope of a Test Suite varies from organization to organization. There may be several Test Suites for a particular product for example. In most cases however a Test Suite is a high level concept, grouping together hundreds or thousands of tests related by what they are intended to test. What is Test Tools? Computer programs used in the testing of a system, a component of the system, or its documentation. What is Testability? The degree to which a system or component facilitates the establishment of test criteria and the performance of tests to determine whether those criteria have been met. What is Testing? The process of exercising software to verify that it satisfies specified requirements and to detect errors. The process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs), and to evaluate the features of the software item (Ref. IEEE Std 829). The process of operating a system or component under specified conditions, observing or recording the results, and making an evaluation of some aspect of the system or component. What is Test Automation? It is the same as Automated Testing. What is Thread Testing? A variation of top-down testing where the progressive integration of components follows the implementation of subsets of the requirements, as opposed to the integration of components by successively lower levels. What is Top Down Testing? An approach to integration testing where the component at the top of the component hierarchy is tested first, with lower level components being simulated by stubs. Tested components are then used to test lower level components. The process is repeated until the lowest level components have been tested. What is Total Quality Management? A company commitment to develop a process that achieves high quality product and customer satisfaction. What is Traceability Matrix? A document showing the relationship between Test Requirements and Test Cases. What is Unit Testing? Testing of individual software components. What is Usability Testing? Testing the ease with which users can learn and use a product. What is Use Case? The specification of tests that are conducted from the end-user perspective. Use cases tend to focus on operating software as an end-user would conduct their day-to-day activities. What is Validation? The process of evaluating software at the end of the software development process to ensure

compliance with software requirements. The techniques for validation is testing, inspection and reviewing. What is Verification? The process of determining whether of not the products of a given phase of the software development cycle meet the implementation steps and can be traced to the incoming objectives established during the previous phase. The techniques for verification are testing, inspection and reviewing. What is White Box Testing? Testing based on an analysis of internal workings and structure of a piece of software. Includes techniques such as Branch Testing and Path Testing. Also known as Structural Testing and Glass Box Testing. Contrast with Black Box Testing. White box testing is used to test the internal logic of the code for ex checking whether the path has been executed once, checking whether the branches has been executed atleast once ..Used to check the structure of the code. What is Workflow Testing? Scripted end-to-end testing which duplicates specific workflows which are expected to be utilized by the end-user. What is memory leaks and buffer overflows ? Memory leaks means incomplete deallocation are bugs that happen very often. Buffer overflow means data sent as input to the server that overflows the boundaries of the input area, thus causing the server to misbehave. Buffer overflows can be used. What is the best tester to developer ratio? Reported tester: developer ratios range from 10:1 to 1:10. Theres no simple answer. It depends on so many things, Amount of reused code, number and type of interfaces, platform, quality goals, etc. It also can depend on the development model. The more specs, the less testers. The roles can play a big part also. Does QA own beta? Do you include process auditors or planning activities? These figures can all vary very widely depending on how you define tester and developer. In some organizations, a tester is anyone who happens to be testing software at the time such as their own. In other organizations, a tester is only a member of an independent test group. It is better to ask about the test labor content than it is to ask about the tester/developer ratio. The test labor content, across most applications is generally accepted as 50%, when people do honest accounting. For life-critical software, this can go up to 80%. What is the difference between quality assurance and testing? Quality assurance involves the entire software development process and testing involves operation of a system or application to evaluate the results under certain conditions. QA is oriented to prevention and Testing is oriented to detection. What kinds of testing should be considered? Black box testing not based on any knowledge of internal design or code. Tests are based on requirements and functionality. White box testing based on knowledge of the internal logic of an applications code. Tests are based on coverage of code statements, branches, paths, conditions. unit testing the most micro scale of testing; to test particular functions or code modules. Typically done by the programmer and not by testers, as it requires detailed knowledge of the internal program design and code. Not always easily done unless the application has a well-designed architecture with tight code; may require developing test driver modules or test harnesses. incremental integration testing continuous testing of an application as new functionality is added; requires that various aspects of an applications functionality be independent enough to work separately before all parts of the program are completed, or that test drivers be developed as needed; done by programmers or by testers. integration testing testing of combined parts of an application to determine if they function together correctly. The parts can be code modules, individual applications, client and server applications on a network, etc. This type of testing is especially relevant to client/server and distributed systems. functional testing black-box type testing geared to functional requirements of an application; this type of testing should be done by testers. This doesnt mean that the programmers shouldnt check

that their code works before releasing it (which of course applies to any stage of testing.) system testing black-box type testing that is based on overall requirements specifications; covers all combined parts of a system. end-to-end testing similar to system testing; the macro end of the test scale; involves testing of a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate. sanity testing or smoke testing typically an initial testing effort to determine if a new software version is performing well enough to accept it for a major testing effort. For example, if the new software is crashing systems every 5 minutes, bogging down systems to a crawl, or corrupting databases, the software may not be in a sane enough condition to warrant further testing in its current state. regression testing re-testing after fixes or modifications of the software or its environment. It can be difficult to determine how much re-testing is needed, especially near the end of the development cycle. Automated testing tools can be especially useful for this type of testing. acceptance testing final testing based on specifications of the end-user or customer, or based on use by end-users/customers over some limited period of time. load testing testing an application under heavy loads, such as testing of a web site under a range of loads to determine at what point the systems response time degrades or fails. stress testing term often used interchangeably with load and performance te sting. Also used to describe such tests as system functional testing while under unusually heavy loads, heavy repetition of certain actions or inputs, input of large numerical values, large complex queries to a database system, etc. performance testing term often used interchangeably with stress and load testing. Ideally performance testing (and any other type of testing) is defined in requirements documentation or QA or Test Plans. usability testing testing for user-friendliness. Clearly this is subjective, and will depend on the targeted end-user or customer. User interviews, surveys, video recording of user sessions, and other techniques can be used. Programmers and testers are usually not appropriate as usability testers. install/uninstall testing testing of full, partial, or upgrade install/uninstall processes. recovery testing testing how well a system recovers from crashes, hardware failures, or other catastrophic problems. failover testing typically used interchangeably with recovery testingsecurity testing testing how well the system protects against unauthorized internal or external access, willful damage, etc; may require sophisticated testing techniques. compatibility testing testing how well software performs in a particular hardware/software/operating system/network/etc. environment. exploratory testing often taken to mean a creative, informal software test that is not based on formal test plans or test cases; testers may be learning the software as they test it. ad-hoc testing similar to exploratory testing, but often taken to mean that the testers have significant understanding of the software before testing it. context-driven testing testing driven by an understanding of the environment, culture, and intended use of software. For example, the testing approach for life-critical medical equipment software would be completely different than that for a low-cost computer game. user acceptance testing determining if software is satisfactory to an end-user or customer. comparison testing comparing software weaknesses and strengths to competing products. alpha testing testing of an application when development is nearing completion; minor design changes may still be made as a result of such testing. Typically done by end-users or others, not by programmers or testers. beta testing testing when development and testing are essentially completed and final bugs and problems need to be found before final release. Typically done by end-users or others, not by programmers or testers. mutation testing a method for determining if a set of test data or test cases is useful, by deliberately introducing various code changes (bugs) and retesting with the original test data/cases to determine if the bugs are detected. Proper implementation requires large computational resources. What makes a good QA or Test manager? A good QA, test, or QA/Test(combined) manager should: be familiar with the software development process be able to maintain enthusiasm of their team and promote a positive atmosphere, despite

what is a somewhat negative process (e.g., looking for or preventing problems) be able to promote teamwork to increase productivity be able to promote cooperation between software, test, and QA engineers have the diplomatic skills needed to promote improvements in QA processes -have the ability to withstand pressures and say no to other managers when quality is insufficient or QA processes are not being adhered to have people judgement skills for hiring and keeping skilled personnel- be able to communicate with technical and non-technical people, engineers, managers, and customers. be able to run meetings and keep them focused What makes a good Software QA engineer? The same qualities a good tester has are useful for a QA engineer. Additionally, they must be able to understand the entire software development process and how it can fit into the business approach and goals of the organization. Communication skills and the ability to understand various sides of issues are important. In organizations in the early stages of implementing QA processes, patience and diplomacy are especially needed. An ability to find problems as well as to see whats missing is important for inspections and reviews. What makes a good test engineer? A good test engineer has a test to break attitude, an ability to take the point of view of the customer, a strong desire for quality, and an attention to detail. Tact and diplomacy are useful in maintaining a cooperative relationship with developers, and an ability to communicate with both technical (developers) and non-technical (customers, management) people is useful. Previous software development experience can be helpful as it provides a deeper understanding of the software development process, gives the tester an appreciation for the developers point of view, and reduce the learning curve in automated test tool programming. Judgment skills are needed to assess high-risk areas of an application on which to focus testing efforts when time is limited. What skills needed to be a good test automator? 1.Good Logic for programming.2. Analytical skills.3.Pessimestic in Nature. What steps are needed to develop and run software tests? The following are some of the steps to consider: Obtain requirements, functional design, and internal design specifications and other necessary documents Obtain budget and schedule requirements Determine project-related personnel and their responsibilities, reporting requirements, required standards and processes (such as release processes, change processes, etc.) Identify applications higher-risk aspects, set priorities, and determine scope and limitations of tests Determine test approaches and methods unit, integration, functional, system, load, usability tests, etc. Determine test environment requirements (hardware, software, communications, etc.) Determine testware requirements (record/playback tools, coverage analyzers, test tracking, problem/bug tracking, etc.) Determine test input data requirements Identify tasks, those responsible for tasks, and labor requirements Set schedule estimates, timelines, milestones Determine input equivalence classes, boundary value analyses, error classes Prepare test plan document and have needed reviews/approvals Write test cases Have needed reviews/inspections/approvals of test cases Prepare test environment and testware, obtain needed user manuals/reference documents/configuration guides/installation guides, set up test tracking processes, set up logging and archiving processes, set up or obtain test input data Obtain and install software releases Perform tests Evaluate and report results Track problems/bugs and fixes Retest as needed Maintain and update test plans, test cases, test environment, and testware through life cycle What testing activities you may want to automate in a project? Testing tools can be used for :* Sanity tests(which is repeated on every build),* stress/Load tests(U simulate a large no of users, which is manually impossible) &* Regression tests(which are done after every code change) What testing activities you may want to automate? Automate all the high priority test cases which needs to be executed as a part of regression testing for each build cycle.

What types of scripting techniques for test automation do you know? 5 types of scripting techniques:LinearStructuredSharedData DrivenKey Driven What you will do during the first day of job? What would you like to do five years from now? Whats the big deal about requirements? One of the most reliable methods of insuring problems, or failure, in a complex software project is to have poorly documented requirements specifications. Requirements are the details describing an applications externally-perceived functionality and properties. Requirements should be clear, complete, reasonably detailed, cohesive, attainable, and testable. A non-testable requirement would be, for example, user-friendly (too subjective). A testable requirement would be something like the user must enter their previously-assigned password to access the application. Determining and organizing requirements details in a useful and efficient way can be a difficult effort; different methods are available depending on the particular project. Many books are available that describe various approaches to this task. Care should be taken to involve ALL of a projects significant customers in the requirements process. Customers could be in -house personnel or out, and could include end-users, customer acceptance testers, customer contract officers, customer management, future software maintenance engineers, salespeople, etc. Anyone who could later derail the project if their expectations arent met should be included if possible. Organizations vary conside rably in their handling of requirements specifications. Ideally, the requirements are spelled out in a document with statements such as The product shall... Design specifications should not be confused with requirements; design specifications should be traceable back to the requirements. In some organizations requirements may end up in high level project plans, functional specification documents, in design documents, or in other documents at various levels of detail. No matter what they are called, some type of documentation with detailed requirements will be needed by testers in order to properly plan and execute tests. Without such documentation, there will be no clear-cut way to determine if a software application is performing correctly. Whats the difference between QA and testing? QA is more a preventive thing, ensuring quality in the company and therefore the product rather than just testing the product for software bugs? TESTING means quality control QUALITY CONTROL measures the quality of a product QUALITY ASSURANCE measures the quality of processes used to create a quality product. Whats the difference between black box and white box testing? Black-box and white-box are test design methods. Black-box test design treats the system as a black-box, so it doesnt explicitly use knowledge of the internal structure. Black -box test design is usually described as focusing on testing functional requirements. Synonyms for black-box include: behavioral, functional, opaque-box, and closed-box. White-box test design allows one to peek inside the box, and it focuses specifically on using internal knowledge of the software to guide the selection of test data. Synonyms for white-box include: structural, glass-box and clear-box. While black-box and white-box are terms that are still in popular use, many people prefer the terms behavioral and structural. Behavioral test design is slightly different from black -box test design because the use of internal knowledge isnt strictly forbidden, but its still discouraged. In practice, it hasnt proven useful to use a single test design method. One has to use a mixture of different methods so that they arent hindered by the limitations of a particular one. Some call this gray -box or translucent-box test design, but others wish wed stop talking about boxes altogether.It is important to understand that these methods are used during the test design phase, and their influence is hard to see in the tests once theyre implemented. Note that any level of testing ( unit testing, system testing, etc.) can use any test design methods. Unit testing is usually associated with structural test design, but this is because testers usually dont have well -defined requirements at the unit level to validate. Whats the difference between load and stress testing ? One of the most common, but unfortunate misuse of terminology is treating load testing and stress testing as synonymous. The consequence of this ignorant semantic abuse is usually that the system is neither properly load tested nor subjected to a meaningful stress test. Stress testing is subjecting a system to an unreasonable load while denying it the resources (e.g., RAM, disc, mips, interrupts, etc.) needed to process that load. The idea is to stress a system to the breaking point in order to find

bugs that will make that break potentially harmful. The system is not expected to process the overload without adequate resources, but to behave (e.g., fail) in a decent manner (e.g., not corrupting or losing data). Bugs and failure modes discovered under stress testing may or may not be repaired depending on the application, the failure mode, consequences, etc. The load (incoming transaction stream) in stress testing is often deliberately distorted so as to force the system into resource depletion. Load testing is subjecting a system to a statistically representative (usually) load. The two main reasons for using such loads is in support of software reliability testing and in performance testing. The term load testing by itself is too vague and imprecise to warrant use. For example, do you mean representative load, overload, high load, etc. In performance testing, load is varied from a minimum (zero) to the maximum level the system can sustain without running out of resources or having, transactions >suffer (application-specific) excessive delay. A third use of the term is as a test whose objective is to determine the maximum sustainable load the system can handle. In this usage, load testing is merely testing at t he highest transaction arrival rate in performance testing. Whats the role of documentation in QA? Critical. (Note that documentation can be electronic, not necessarily paper.) QA practices should be documented such that they are repeatable. Specifications, designs, business rules, inspection reports, configurations, code changes, test plans, test cases, bug reports, user manuals, etc. should all be documented. There should ideally be a system for easily finding and obtaining documents and determining what documentation will have a particular piece of information. Change management for documentation should be used if possible. Can test automation improve test effectiveness? Yes, Automating a test makes the test process:1.Fast2.Reliable3. Repeatable4.Programmable5.Reusable6.Comprehensive What is data driven automation? Testing the functionality with more test cases becomes laborious as the functionality grows. For multiple sets of data (test cases), you can execute the test once in which you can figure out for which data it has failed and for which data, the test has passed. This feature is available in the WinRunner with the data driven test where the data can be taken from an excel sheet or notepad. Can the activities of test case design be automated? As I know it, test case design is about formulating the steps to be carried out to verify something about the application under test. And this cannot be automated. However, I agree that the process of putting the test results into the excel sheet. Can we perform the test of single application at the same time using different tools on the same machine? No. The Testing Tools will be in the ambiguity to determine which browser is opened by which tool. Describe common problems of test automation? The common problems are:1. Maintenance of the old script when there is a feature change or enhancement2. The change in technology of the application will affect the old scripts Describe some problem that you had with automating testing tool 1. The inability of winrunner to identify the third party control like infragistics controls2. The change of the location of the table object will cause object not found error.3. The inability of the winrunner to execute the script against multiple languages Difference between Web application Testing and Client Server Testing. State the different types for Web application Testing and Client Server Testing types? which winrunner 7.2 version compatible with internet explorer, firefox Does automation replace manual testing? There can be some functionality which cannot be tested in an automated tool so we may have to do it manually. therefore manual testing can never be replaced. (We can write the scripts for negative

testing also but it is hectic task).When we talk about real environment we do negative testing manually. How can Software QA processes be implemented without stifling productivity? By implementing QA processes slowly over time, using consensus to reach agreement on processes, and adjusting and experimenting as an organization grows and matures, productivity will be improved instead of stifled. Problem prevention will lessen the need for problem detection, panics and burn-out will decrease, and there will be improved focus and less wasted effort. At the same time, attempts should be made to keep processes simple and efficient, minimize paperwork, promote computerbased processes and automated tracking and reporting, minimize time required in meetings, and promote training as part of the QA process. However, no one especially talented technical types likes rules or bureaucracy, and in the short run 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 be required for latenight bug-fixing and calming of irate customers. What are main benefits of test automation? FAST ,RELIABLE,COMPREHENSIVE,REUSABLE What are principles of good testing scripts for automation? 1. Proper code guiding standards2. Standard format for defining functions, exception handler etc3. Comments for functions4. Proper errorhandling mechanisms5. The appropriate synchronisation techniques What tools are available for support of testing during software development life cycle? Testing tools for regression and load/stress testing for regression testing like, QTP, load runner, rational robot, winrunner, silk, testcomplete, Astra are available in the market. -For defect tracking BugZilla, Test Runner are available. What are the limitations of automating software testing? Hard-to-create environments like out of memory, invalid input/reply, and corrupt registry entries make applications behave poorly and existing automated tools cant force these condition they simply test your application in normal environment. What are the main attributes of test automation? Maintainability, Reliability, Flexibility, Efficiency, Portability, Robustness, and Usability these are the main attributes in test automation. What are the main attributes of test automation? software test automation attributes :Maintainability the effort needed to update the test automation suites for each new releaseReliability the accuracy and repeatability of the test automationFlexibility the ease of working with all the different kinds of automation test wareEfficiency the total cost related to the effort needed for the automationPortability the ability of the automated test to run on different environmentsRobustness the effectiveness of automation on an unstable or rapidly changing systemUsability the extent to which automation can be used by different types of users What are the major differences between stress testing,load testing,Volume testing? Stress testing means increasing the load ,and checking the performance at each level. Load testing means at a time giving more load by the expectation and checking the performance at that level. Volume testing means first we have to apply initial. What are the problems encountered during the testing the application compatibility on different browsers and on different operating systems Font issues, alignment issues What are the table contents in testplans and test cases? Test Plan is a document which is prepared with the details of the testing priority. A test Plan generally includes:1. Objective of Testing2. Scope of Testing3. Reason for testing4. Timeframe5. Environment6. Entrance and exit criteria7. Risk factors involved8. Deliverables

What are the tables in testplans and testcases? Test plan is a document that contains the scope, approach, test design and test strategies. It includes the following:-1. Test case identifier2. Scope3.Features to be tested4. Features not to be tested5. Test strategy6. Test Approach7. Test Deliverables8. Responsibilities.9 Staffing and Training10.Risk and Contingencies11. Approval While A test case is a noted/documented set of steps/activities that are carried out or executed on the software in order to confirm its functionality/behavior to certain set of inputs. What automating testing tools are you familiar with? Win Runner , Load runner, QTP , Silk Performer, Test director, Rational robot, QA run. What could go wrong with test automation? 1. The choice of automation tool for certain technologies2. Wrong set of test automated How can World Wide Web sites be tested? Web sites are essentially client/server applications with web servers and browser clients. Consideration should be given to the interactions between html pages, TCP/IP communications, Internet connections, firewalls, applications that run in web pages (such as applets, javascript, plug-in applications), and applications that run on the server side (such as cgi scripts, database interfaces, logging applications, dynamic page generators, asp, etc.). Additionally, there are a wide variety of servers and browsers, various versions of each, small but sometimes significant differences between them, variations in connection speeds, rapidly changing technologies, and multiple standards and protocols. The end result is that testing for web sites can become a major ongoing effort. Other considerations might include: What are the expected loads on the server (e.g., number of hits per unit time?), and what kind of performance is required under such loads (such as web server response time, database query response times). What kinds of tools will be needed for performance testing (such as web load testing tools, other tools already in house that can be adapted, web robot downloading tools, etc.)? Who is the target audience? What kind of browsers will they be using? What kind of connection speeds will they by using? Are they intra- organization (thus with likely high connection speeds and similar browsers) or Internet-wide (thus with a wide variety of connection speeds and browser types)? What kind of performance is expected on the client side (e.g., how fast should pages appear, how fast should animations, applets, etc. load and run)? Will down time for server and content maintenance/upgrades be allowed? how much? What kinds of security (firewalls, encryptions, passwords, etc.) will be required and what is it expected to do? How can it be tested? How reliable are the sites Internet connections required to be? And how does that affect backup system or redundant connection requirements and testing? What processes will be required to manage updates to the web sites content, and what are the requirements for maintaining, tracking, and controlling page content, graphics, links, etc.? Which HTML specification will be adhered to? How strictly? What variations will be allowed for targeted browsers? Will there be any standards or requirements for page appearance and/or graphics throughout a site or parts of a site?? How will internal and external links be validated and updated? how often? Can testing be done on the production system, or will a separate test system be required? How are browser caching, variations in browser option settings, dial-up connection variabilities, and real-world internet traffic congestion problems to be accounted for in testing?- How extensive or customized are the server logging and reporting requirements; are they considered an integral part of the system and do they require testing?- How are cgi programs, applets, javascripts, ActiveX components, etc. to be maintained, tracked, controlled, and tested? Pages should be 3-5 screens max unless content is tightly focused on a single topic. If larger, provide internal links within the page. The page layouts and design elements should be consistent throughout a site, so that its clear to the user that theyre still within a site. Pages should be as browser-independent as possible, or pages should be provided or generated based on the browser-type. All pages should have links external to the page; there should be no dead-end pages. The page owner, revision date, and a link to a contact person or organization should be included on each page. How can it be known when to stop testing? This can be difficult to determine. Many modern software applications are so complex, and run in such an interdependent environment, that complete testing can never be done. Common factors in deciding when to stop are: Deadlines (release deadlines, testing deadlines, etc.)- Test cases completed with certain percentage passed Test budget depleted Coverage of

code/functionality/requirements reaches a specified point Bug rate falls below a certain level Beta or alpha testing period ends How can new Software QA processes be introduced in an existing organization? - A lot depends on the size of the organization and the risks involved. For large organizations with high-risk (in terms of lives or property) projects, serious management buy-in is required and a formalized QA process is necessary. Where the risk is lower, management and organizational buy-in and QA implementation may be a slower, step-at-a-time process. QA processes should be balanced with productivity so as to keep bureaucracy from getting out of hand. For small groups or projects, a more ad-hoc process may be appropriate, depending on the type of customers and projects. A lot will depend on team leads or managers, feedback to developers, and ensuring adequate communications among customers, managers, developers, and testers. In all cases the most value for effort will be in requirements management processes, with a goal of clear, complete, testable requirement specifications or expectations. How can new Software QA processes be introduced in an existing organization? A lot depends on the size of the organization and the risks involved. For large organizations with highrisk (in terms of lives or property) projects, serious management buy-in is required and a formalized QA process is necessary. Where the risk is lower, management and organizational buy-in and QA implementation may be a slower, step-at-a-time process. QA processes should be balanced with productivity so as to keep bureaucracy from getting out of hand. For small groups or projects, a more ad-hoc process may be appropriate, depending on the type of customers and projects. A lot will depend on team leads or managers, feedback to developers, and ensuring adequate communications among customers, managers, developers, and testers. The most value for effort will often be in (a) requirements management processes, with a goal of clear, complete, testable requirement specifications embodied in requirements or design documentation, or in agile -type environments extensive continuous coordination with end-users, (b) design inspections and code inspections, and (c) post-mortems/retrospectives. How did you use automating testing tools in your job? 1. For regression testing2. Criteria to decide the condition of a particular build3. Describe some problem that you had with automating testing tool.The problem of winrunner identifying the third party controls like infragistics control. How do u do usability testing, security testing, installation testing, ADHOC, safety and smoke testing? Please submit Your Suggestion to our forum at http://www.fyicenter.com What if the application has functionality that wasnt in the requirements? It may take serious effort to determine if an application has significant unexpected or hidden functionality, and it would indicate deeper problems in the software development process. If the functionality isnt necessary to the purpose of the application, it should be removed, as it may have unknown impacts or dependencies that were not taken into account by the designer or the customer. If not removed, design information will be needed to determine added testing needs or regression testing needs. Management should be made aware of any significant added risks as a result of the unexpected functionality. If the functionality only effects areas such as minor improvements in the user interface, for example, it may not be a significant risk. What if the project isnt big enough to justify extensive testing? Consider the impact of project errors, not the size of the project. However, if extensive testing is still not justified, risk analysis is again needed and the same considerations as described previously in What if there isnt enough time for thorough testing? apply. The tester might then do ad hoc testing, or write up a limited test plan based on the risk analysis. What if the software is so buggy it cant really be tested at all? The best bet in this situation is for the testers to go through the process of reporting whatever bugs or blocking-type problems initially show up, with the focus being on critical bugs. Since this type of problem can severely affect schedules, and indicates deeper problems in the software development process (such as insufficient unit testing or insufficient integration testing, poor design, improper build

or release procedures, etc.) managers should be notified, and provided with some documentation as evidence of the problem. What if there isnt enough time for thorough testing? Use risk analysis to determine where testing should be focused. Since its rarely possible to test every possible aspect of an application, every possible combination of events, every dependency, or everything that could go wrong, risk analysis is appropriate to most software development projects. This requires judgement skills, common sense, and experience. (If warranted, formal methods are also available.) Considerations can include: Which functionality is most important to the projects intended purpose? Which functionality is most visible to the user? Which functionality has the largest safety impact? Which functionality has the largest financial impact on users? Which aspects of the application are most important to the customer? Which aspects of the application can be tested early in the development cycle? Which parts of the code are most complex, and thus most subject to errors? Which parts of the application were developed in rush or panic mode? Which aspects of similar/related previous projects caused problems? Which aspects of similar/related previous projects had large maintenance expenses? Which parts of the requirements and design are unclear or poorly thought out? What do the developers think are the highest-risk aspects of the application? What kinds of problems would cause the worst publicity? What kinds of problems would cause the most customer service complaints?- What kinds of tests could easily cover multiple functionalities? Which tests will have the best high-risk-coverage to time-required ratio? What is configuration management? Configuration management covers the 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. What is configuration management? Configuration management is a process to control and document any changes made during the life of a project. Revision control, Change Control, and Release Control are important aspects of Configuration Management. What is good code? Good code is code that works, is bug free, and is readable and maintainable. Some organizations have coding standards that all developers are supposed to adhere to, but everyone has different ideas about whats best, or what is too many or too few rules. There are also various theories and metrics, such as McCabe Complexity metrics. It should be kept in mind that excessive use of standards and rules can stifle productivity and creativity. Peer reviews, buddy checks code analysis tools, etc. can be used to check for problems and enforce standards. For C and C++ coding, here are some typical ideas to consider in setting rules/standards; these may or may not apply to a particular situation: minimize or eliminate use of global variables. use descriptive function and method names use both upper and lower case, avoid abbreviations, use as many characters as necessary to be adequately descriptive (use of more than 20 characters is not out of line); be consistent in naming conventions. use descriptive variable names use both upper and lower case, avoid abbreviations, use as many characters as necessary to be adequately descriptive (use of more than 20 characters is not out of line); be consistent in naming conventions. function and method sizes should be minimized; less than 100 lines of code is good, less than 50 lines is preferable. function descriptions should be clearly spelled out in comments preceding a functions code. - organize code for readability. use whitespace generously vertically and horizontally each line of code should contain 70 characters max. one code statement per line. coding style should be consistent throughout a program (eg, use of brackets, indentations, naming conventions, etc.) in adding comments, err on the side of too many rather than too few comments; a common rule of thumb is that there should be at least as many lines of comments (including header blocks) as lines of code. no matter how small, an application should include documentation of the overall program function and flow (even a few paragraphs is better than nothing); or if possible a separate flow chart and detailed program documentation. make extensive use of error handling procedures and status and error logging. for C++, to minimize complexity and increase maintainability, avoid too many levels of inheritance in class hierarchies (relative to the size and complexity of the application). Minimize use of multiple inheritance, and minimize use of operator overloading (note that the Java programming language

eliminates multiple inheritance and operator overloading.) for C++, keep class methods small, less than 50 lines of code per method is preferable. for C++, make liberal use of exception handlers What is good design? Design could refer to many things, but often refers to functional design or internal design. Good internal design is indicated by software code whose overall structure is clear, understandable, easily modifiable, and maintainable; is robust with sufficient error-handling and status logging capability; and works correctly when implemented. Good functional design is indicated by an application whose functionality can be traced back to customer and end-user requirements. For programs that have a user interface, its often a good idea to assume that the end user will have little compute r knowledge and may not read a user manual or even the on-line help; some common rules-of-thumb include: the program should act in a way that least surprises the user it should always be evident to the user what can be done next and how to exit the program shouldnt let the users do something stupid without warning them. What is Acceptance Testing? Testing conducted to enable a user/customer to determine whether to accept a software product. Normally performed to validate the software meets a set of agreed acceptance criteria. What is Accessibility Testing? Verifying a product is accessible to the people having disabilities (deaf, blind, mentally disabled etc.). What is Ad Hoc Testing? A testing phase where the tester tries to break the system by randomly trying the systems functionality. Can include negative testing as well. See also Monkey Testing. What is Agile Testing? Testing practice for projects using agile methodologies, treating development as the customer of testing and emphasizing a test-first design paradigm. See also Test Driven Development. What is Application Binary Interface (ABI)? A specification defining requirements for portability of applications in binary forms across different system platforms and environments. How do we test for severe memory leakages ? By using Endurance Testing . Endurance Testing means checking for memory leaks or other problems that may occur with prolonged execution. How do you plan test automation? 1. Prepare the automation Test plan2. Identify the scenario3. Record the scenario4. Enhance the scripts by inserting check points and Conditional Loops5. Incorporated Error Handler6. Debug the script7. Fix the issue8. Rerun the script and report the result. What is Application Programming Interface (API)? A formalized set of software calls and routines that can be referenced by an application program in order to access supporting system or network services. What is Automated Software Quality (ASQ)? The use of software tools, such as automated testing tools, to improve software quality. What is Automated Testing? Testing employing software tools which execute tests without manual intervention. Can be applied in GUI, performance, API, etc. testing. The use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions. What is Backus-Naur Form? A metalanguage used to formally describe the syntax of a language.

What is Baseline? The point at which some deliverable produced during the software engineering process is put under formal change control. What is Basic Block? A sequence of one or more consecutive, executable statements containing no branches. What is Basis Path Testing? A white box test case design technique that uses the algorithmic flow of the program to design tests. What is Basis Set? The set of tests derived using basis path testing. What is Beta Testing? Testing of a release of a software product conducted by customers. What is Binary Portability Testing? Testing an executable application for portability across system platforms and environments, usually for conformation to an ABI specification. What is Black Box Testing? Testing based on an analysis of the specification of a piece of software without reference to its internal workings. The goal is to test how well the component conforms to the published requirements for the component. What is Bottom Up Testing? An approach to integration testing where the lowest level components are tested first, then used to facilitate the testing of higher level components. The process is repeated until the component at the top of the hierarchy is tested. What is Boundary Testing? Test which focus on the boundary or limit conditions of the software being tested. (Some of these tests are stress tests). What is Boundary Value Analysis? BVA is similar to Equivalence Partitioning but focuses on corner cases or values that are usually out of range as defined by the specification. his means that if a function expects all values in range of negative 100 to positive 1000, test inputs would include negative 101 and positive 1001. What is Branch Testing? Testing in which all branches in the program source code are tested at least once. How does a client/server environment affect testing? Client/server applications can be quite complex due to the multiple dependencies among clients, data communications, hardware, and servers. Thus testing requirements can be extensive. When time is limited (as it usually is) the focus should be on integration and system testing. Additionally, load/stress/performance testing may be useful in determining client/server application limitations and capabilities. There are commercial tools to assist with such testing. How exactly the testing the application compatibility on different browsers and on different operating systems is done Please submit Your Suggestion to our forum at http://www.fyicenter.com How is testing affected by object-oriented designs? Well-engineered object-oriented design can make it easier to trace from code to internal design to functional design to requirements. While there will be little affect on black box testing (where an understanding of the internal design of the application is unnecessary), white-box testing can be oriented to the applications objects. If the application was well -designed this can simplify test design.

How testing is proceeded when SRS or any other document is not given? If SRS is not there we can perform Exploratory testing. In Exploratory testing the basic module is executed and depending on its results, the next plan is executed. What is Breadth Testing? A test suite that exercises the full functionality of a product but does not test features in detail. What is Bug? A fault in a program which causes the program to perform in an unintended or unanticipated manner. What is CAST? Computer Aided Software Testing. What is CMM? The Capability Maturity Model for Software (CMM or SW-CMM) is a model for judging the maturity of the software processes of an organization and for identifying the key practices that are required to increase the maturity of these processes. What is Capture/Replay Tool? A test tool that records test input as it is sent to the software under test. The input cases stored can then be used to reproduce the test at a later time. Most commonly applied to GUI test tools. What is Cause Effect Graph? A graphical representation of inputs and the associated outputs effects which can be used to design test cases. What is Code Complete? Phase of development where functionality is implemented in entirety; bug fixes are all that are left. All functions found in the Functional Specifications have been implemented. What is Code Coverage? An analysis method that determines which parts of the software have been executed (covered) by the test case suite and which parts have not been executed and therefore may require additional attention. What is Code Inspection? A formal testing technique where the programmer reviews source code with a group who ask questions analyzing the program logic, analyzing the code with respect to a checklist of historically common programming errors, and analyzing its compliance with coding standards. What is Code Walkthrough? A formal testing technique where source code is traced by a group with a small set of test cases, while the state of program variables is manually monitored, to analyze the programmers logic and assumptions. What is Coding? The generation of source code. What is Compatibility Testing? Testing whether software is compatible with other elements of a system with which it should operate, e.g. browsers, Operating Systems, or hardware. What is Component Testing? Testing of individual software components (Unit Testing). How to find that tools work well with your existing system? 1. Discuss with the support officials2. Download the trial version of the tool and evaluate3. Get suggestions from people who are working on the tool

How to find that tools work well with your existing system? To find this, select the suite of tests which are most important for your application. First run them with automated tool. Next subject the same tests to careful manual testing. If the results are coinciding you can say your testing tool has been performing. How to test the Web applications? The basic difference in webtesting is here we have to test for URLs coverage and links coverage. Using WinRunner we can conduct webtesting. But we have to make sure that Webtest option is selected in Add in Manager. Using WR we cannot test XML objects. How will you choose a tool for test automation? choosing of a tool depends on many things 1. Application to be tested2. Test environment3. Scope and limitation of the tool.4. Feature of the tool.5. Cost of the tool.6. Whether the tool is compatible with your application which means tool should be able to interact with your application7. Ease of use How will you evaluate the fields in the application under test using automation tool? We can use Verification points(rational Robot) to validate the fields .Ex.Using objectdata, objectdata properties VP we can validate fields. How will you test the field that generates auto numbers of AUT when we click the button NEW in the application? We can create a textfile in a certain location, and update the auto generated value each time we run the test and compare the currently generated value with the previous one will be one solution. How you will describe testing activities? Testing activities start from the elaboration phase. The various testing activities are preparing the test plan, Preparing test cases, Execute the test case, Log the bug, validate the bug & take appropriate action for the bug, Automate the test cases. How you will evaluate the tool for test automation? We need to concentrate on the features of the tools and how this could be beneficial for our project. The additional new features and the enhancements of the features will also help. Why does software have bugs? 1. Miscommunication or no communication as to specifics of what an application should or shouldnt do (the applications requirements).2. Software complexity the complexity of current software applications can be difficult to comprehend for anyone without experience in modern-day software development. Multi-tiered applications, client-server and distributed applications, data communications, enormous relational databases, and sheer size of applications have all contributed to the exponential growth in software/system complexity. programming errors programmers, like anyone else, can make mistakes.3. Changing requirements (whether documented or undocumented) the end-user may not understand the effects of changes, or may understand and request them anyway redesign, rescheduling of engineers, effects on other projects, work already completed that may have to be redone or thrown out, hardware requirements that may be affected, etc. If there are many minor changes or any major changes, known and unknown dependencies among parts of the project are likely to interact and cause problems, and the complexity of coordinating changes may result in errors. Enthusiasm of engineering staff may be affected. In some fast-changing business environments, continuously modified requirements may be a fact of life. In this case, management must understand the resulting risks, and QA and test engineers must adapt and plan for continuous extensive testing to keep the inevitable bugs from running out of control.4. Poorly documented code its tough to maintain and modify code that is badly written or poorly documented; the result is bugs. In many organizations management provides no incentive for programmers to document their code or write clear, understandable, maintainable code. In fact, its usually the opposite: they get points mostly for quickly turning out code, and theres job security if nobody else can understand it (if it was hard to write, it should be hard to read).5. software development tools visual tools, class libraries, compilers, scripting tools, etc. often introduce their own bugs or are poorly documented, resulting in added bugs.

Why does software have bugs? 1.miscommunication2.programming errors3.time pressures.4.changing requirements5.software complexity Why is it often hard for management to get serious about quality assurance? Solving problems is a high-visibility process; preventing problems is low-visibility.This is illustrated by an old parable:In ancient China there was a family of healers, one of whom was known throughout the land and employed as a physician to a great lord. The physician was asked which of his family was the most skillful healer. He replied, I tend to the sick and dying with drastic and dramatic treatments, and on occasion someone i s cured and my name gets out among the lords."My elder brother cures sickness when it just begins to take root, and his skills are known among the local peasants and neighbors. My eldest brother is able to sense the spirit of sickness and eradicate it before it takes form. His name is unknown outside our home. Will automated testing tools make testing easier? - Possibly. For small projects, the time needed to learn and implement them may not be worth it. For larger projects, or on-going long-term projects they can be valuable. A common type of automated tool is the record/playback type. For example, a tester could click through all combinations of menu choices, dialog box choices, buttons, etc. in an application GUI and have them recorded and the results logged by a tool. The recording is typically in the form of text based on a scripting language that is interpretable by the testing tool. If new buttons are added, or some underlying code in the application is changed, etc. the application can then be retested by just playing back the recorded actions, and comparing the logging results to check effects of the changes. The problem with such tools is that if there are continual changes to the system being tested, the recordings may have to be changed so much that it becomes very time-consuming to continuously update the scripts. Additionally, interpretation of results (screens, data, logs, etc.) can be a difficult task. Note that there are record/playback tools for text-based interfaces also, and for all types of platforms.- Other automated tools can include: code analyzers monitor code complexity, adherence to standards, etc. coverage analyzers these tools check which parts of the code have been exercised by a test, and may be oriented to code statement coverage, condition coverage, path coverage, etc. memory analyzers such as bounds-checkers and leak detectors. load/performance test tools for testing client/server and web applications under various load levels. web test tools to check that links are valid, HTML code usage is correct, client-side and server-side programs work, a web sites interactions are secure. other tools for test case management, documentation management, bug reporting, and configuration management. What can be done if requirements are changing continuously? A common problem and a major headache. Work with the projects stakeholders early on to understand how requirements might change so that alternate test plans and strategies can be worked out in advance, if possible. Its helpful if the applications initial design allows for some adaptability so that later changes do not require redoing the application from scratch. If the code is wellcommented and well-documented this makes changes easier for the developers.- Use rapid prototyping whenever possible to help customers feel sure of their requirements and minimize changes. The projects initial schedule should allow for some extra time commensurate with the possibility of changes.- Try to move new requirements to a Phase 2 version of an application, while using the original requirements for the Phase 1 version. Negotiate to allow only easilyimplemented new requirements into the project, while moving more difficult new requirements into future versions of the application. Be sure that customers and management understand the scheduling impacts, inherent risks, and costs of significant requirements changes. Then let management or the customers (not the developers or testers) decide if the changes are warranted after all, thats their job. Balance the effort put into setting up automated testing with the expected effort required to re-do them to deal with changes. Try to design some flexibility into automated test scripts. Focus initial automated testing on application aspects that are most likely to remain unchanged. Devote appropriate effort to risk analysis of changes to minimize regression testing needs. Design some flexibility into test cases (this is not easily done; the best bet might be to minimize the detail in the test cases, or set up only higher-level generic-type test plans) Focus less on detailed test plans and test cases and more on ad hoc testing (with an understanding of the added risk that this entails).

What is Test Script? Commonly used to refer to the instructions for a particular test that will be carried out by an automated test tool. How do the companies expect the defect reporting to be communicated by the tester to the development team. Can the excel sheet template be used for defect reporting. If so what are the common fields that are to be included ? who assigns the priority and severity of the defect? To report bugs in excel: Sno. Module Screen/ Section Issue detail SeverityPriority Issuestatusthis is how to report bugs in excel sheet and also set filters on the Columns attributes.But most of the companies use the share point process of reporting bugs In this when the project came for testing a module wise detail of project is inserted to the defect management system they are using. It contains following field1. Date2. Issue brief3. Issue description (used for developer to regenerate the issue)4. Issue status ( active, resolved, onhold, suspend and not able to regenerate)5. Assign to (Names of members allocated to project)6. Priority (High, medium and low)7. severity (Major, medium and low) What is Component? A minimal software item for which a separate specification is available. What is Concurrency Testing? Multi-user testing geared towards determining the effects of accessing the same application code, module or database records. Identifies and measures the level of locking, deadlocking and use of single-threaded code and locking semaphores. What is Conformance Testing? The process of testing that an implementation conforms to the specification on which it is based. Usually applied to testing conformance to a formal standard. What is Context Driven Testing? The context-driven school of software testing is flavor of Agile Testing that advocates continuous and creative evaluation of testing opportunities in light of the potential information revealed and the value of that information to the organization right now. What is Defect? If software misses some feature or function from what is there in requirement it is called as defect. Nonconformance to requirements or functional / program specification.

NETWORKING QUESTIONS

Basic Networking Interview Questions


What is Piggy Backing? A technique called piggybacking is used to improve the efficiency of the bidirectional protocols. When a frame is carrying data from A to B, it can also carry control information about arrived (or lost) frames from B; when a frame is carrying data from B to A, it can also carry control information about the arrived (or lost) frames from A. What is Pipelining ? In networking and in other areas, a task is often begun before the previous task has ended. This is known as pipelining. What is point-point link? If the physical links are limited to a pair of nodes it is said to be point-point link.

What is point-to-point protocol? A communications protocol used to connect computers to remote networking services including Internet service providers. What is Project 802? It is a project started by IEEE to set standards to enable intercommunication between equipment from a variety of manufacturers. It is a way for specifying functions of the physical layer, the data link layer and to some extent the network layer to allow for interconnectivity of major LAN protocols.It consists of the following: 1. 802.1 is an internetworking standard for compatibility of different LANs and MANs across protocols. 2. 802.2 Logical link control (LLC) is the upper sublayer of the data link layer which is nonarchitecture-specific, that is remains the same for all IEEE-defined LANs. 3. Media access control (MAC) is the lower sublayer of the data link layer that contains some distinct modules each carrying proprietary information specific to the LAN product being used. The modules are Ethernet LAN (802.3), Token ring LAN (802.4), Token bus LAN (802.5). 4. 802.6 is distributed queue dual bus (DQDB) designed to be used in MANs.

What is Protocol Data Unit? The data unit in the LLC level is called the protocol data unit (PDU). The PDU contains of four fields a destination service access point (DSAP), a source service access point (SSAP), a control field and an information field. DSAP, SSAP are addresses used by the LLC to identify the protocol stacks on the receiving and sending machines that are generating and using the data. The control field specifies whether the PDU frame is a information frame (I frame) or a supervisory frame (S frame) or a unnumbered frame (U frame). What is Protocol? A protocol is a set of rules that govern all aspects of information communication. What is Proxy ARP? It is using a router to answer ARP requests. This will be done when the originating host believes that a destination is local, when in fact is lies beyond router. What is RAID? A method for providing fault tolerance by using multiple hard disk drives. What is redirector? Redirector is software that intercepts file or prints I/O requests and translates them into network requests. This comes under presentation layer. What is Redundancy? The concept of including extra information in the transmission solely for the purpose of comparison. This technique is called redundancy. What is region? When hierarchical routing is used, the routers are divided into what we will call regions, with each router knowing all the details about how to route packets to destinations within its own region, but knowing nothing about the internal structure of other regions. What is RIP (Routing Information Protocol)? It is a simple protocol used to exchange information between the routers. What is Round Trip Time? The duration of time it takes to send a message from one end of a network to the other and back, is called RTT.

What is SAP? Series of interface points that allow other computers to communicate with the other layers of network protocol stack. What is semantic gap? Defining a useful channel involves both understanding the applications requirements and recognizing the limitations of the underlying technology. The gap between what applications expects and what the underlying technology can provide is called semantic gap. What is silly window syndrome? It is a problem that can ruin TCP performance. This problem occurs when data are passed to the sending TCP entity in large blocks, but an interactive application on the receiving side reads 1 byte at a time. What is Sliding Window? The sliding window is an abstract concept that defines the range of sequence numbers that is the concern of the sender and receiver. In other words, he sender and receiver need to deal with only part of the possible sequence numbers. What is SLIP (Serial Line Interface Protocol)? It is a very simple protocol used for transmission of IP datagrams across a serial line. What is source route? It is a sequence of IP addresses identifying the route a datagram must follow. A source route may optionally be included in an IP datagram header.& What is Stop-and-Wait Automatic Repeat Request? Error correction in Stop-and-Wait ARQ is done by keeping a copy of the sent frame and retransmitting of the frame when the timer expires. What is Stop-and-Wait Protocol? In Stop and wait protocol, sender sends one frame, waits until it receives confirmation from the receiver (okay to go ahead), and then sends the next frame. What is subnet? A generic term for section of a large networks usually separated by a bridge or router. What is Synchronous TDM? In STDM, the multiplexer allocates exactly the same time slot to each device at all times, whether or not a device has anything to transmit. What is TDM? TDM is a digital process that can be applied when the data rate capacity of the transmission medium is greater than the data rate required by the sending and receiving devices. What is terminal emulation, in which layer it comes? Telnet is also called as terminal emulation. It belongs to application layer. What is the difference between routable and non- routable protocols? Routable protocols can work with a router and can be used to build large networks. Non-Routable protocols are designed to work on small, local networks and cannot be used with a router. What is the difference between TFTP and FTP application layer protocols? The Trivial File Transfer Protocol (TFTP) allows a local host to obtain files from a remote host but does not provide reliability or security. It uses the fundamental packet delivery services offered by UDP.The File Transfer Protocol (FTP) is the standard mechanism provided by TCP / IP for copying a file from one host to another. It uses the services offer by TCP and so is reliable and secure. It establishes two connections (virtual circuits) between the hosts, one for data transfer and another for control information.

What is the minimum and maximum length of the header in the TCP segment and IP datagram? The header should have a minimum length of 20 bytes and can have a maximum length of 60 bytes. What is the range of addresses in the classes of internet addresses? Class A 0.0.0.0 127.255.255.255Class B 128.0.0.0 191.255.255.255Class C 192.0.0.0 223.255.255.255Class D 224.0.0.0 239.255.255.255Class E 240.0.0.0 247.255.255.255 What is traffic shaping? One of the main causes of congestion is that traffic is often busy. If hosts could be made to transmit at a uniform rate, congestion would be less common. Another open loop method to help manage congestion is forcing the packet to be transmitted at a more predictable rate. This is called traffic shaping. What is usage of Sequence Number in Relaible Transmission? The protocol specifies that frames need to be numbered. This is done by using sequence numbers. A field is added to the data frame to hold the sequence number of that frame. Since we want to minimize the frame size, the smallest range that provides unambiguous communication. The sequence numbers can wrap around. What is virtual channel? Virtual channel is normally a connection from one source to one destination, although multicast connections are also permitted. The other name for virtual channel is virtual circuit. What is virtual path? Along any transmission path from a given source to a given destination, a group of virtual circuits can be grouped together into what is called path. What is VRC? It is the most common and least expensive mechanism for Error Detection. In VRC, a parity bit is added to every data unit so that the total number of 1s becomes even for even parity. It can detect all single-bit errors. It can detect burst errors only if the total number of errors in each data unit is odd. What is WDM? WDM is conceptually the same as FDM, except that the multiplexing and demultiplexing involve light signals transmitted through fiber optics channel. What is wide-mouth frog? Wide-mouth frog is the simplest known key distribution center (KDC) authentication protocol. What MAU? In token Ring , hub is called Multistation Access Unit(MAU). When a switch is said to be congested? It is possible that a switch receives packets faster than the shared link can accommodate and stores in its memory, for an extended period of time, then the switch will eventually run out of buffer space, and some packets will have to be dropped and in this state is said to congested state. Which layer links the network support layers and user support layers? The Transport layer links the network support layers and user support layers. Which layers are network support layers? a. Physical Layerb. Data link Layer andc. Network Layers Which layers are user support layers? a. Session Layerb. Presentation Layer andc. Application Layer

Why should you care about the OSI Reference Model? It provides a framework for discussing network operations and design.

Basic Networking Interview Questions


Compare Error Detection and Error Correction: The correction of errors is more difficult than the detection. In error detection, checks only any error has occurred. In error correction, the exact number of bits that are corrupted and location in the message are known. The number of the errors and the size of the message are important factors. Define Bandwidth and Latency? Network performance is measured in Bandwidth (throughput) and Latency (Delay). Bandwidth of a network is given by the number of bits that can be transmitted over the network in a certain period of time. Latency corresponds to how long it t5akes a message to travel from one end off a network to the other. It is strictly measured in terms of time. Define Character Stuffing? In byte stuffing (or character stuffing), a special byte is added to the data section of the frame when there is a character with the same pattern as the flag. The data section is stuffed with an extra byte. This byte is usually called the escape character (ESC), which has a predefined bit pattern. Whenever the receiver encounters the ESC character, it removes it from the data section and treats the next character as data, not a delimiting flag. Define Decoder? A device or program that translates encoded data into its original format (e.g. it decodes the data). The term is often used in reference to MPEG-2 video and sound data, which must be decoded before it is output. Define Encoder? A device or program that uses predefined algorithms to encode, or compress audio or video data for storage or transmission use. A circuit that is used to convert between digital video and analog video. Define Network? A network is a set of devices connected by physical media links. A network is recursively is a connection of two or more nodes by a physical link or two or more networks connected by one or more nodes. Define Retransmission? Retransmission is a technique in which the receiver detects the occurrence of an error and asks the sender to resend the message. Resending is repeated until a message arrives that the receiver believes is error-freed. Define Routing? The process of determining systematically hoe to forward messages toward the destination nodes based on its address is called routing. Define the terms Unicasting, Multiccasting and Broadcasting? If the message is sent from a source to a single destination node, it is called Unicasting.If the message is sent to some subset of other nodes, it is called Multicasting.If the message is sent to all the m nodes in the network it is called Broadcasting. Difference between bit rate and baud rate. Bit rate is the number of bits transmitted during one second whereas baud rate refers to the number of signal units per second that are required to represent those bits.baud rate = (bit rate / N)where N is no-of-bits represented by each signal shift.

Difference between the communication and transmission. Transmission is a physical movement of information and concern issues like bit polarity, synchronisation, clock etc.Communication means the meaning full exchange of information between two communication media. Expand IDEA. IDEA stands for International Data Encryption Algorithm. Explain 5-4-3 rule? In a Ethernet network, between any two points on the network ,there can be no more than five network segments or four repeaters, and of those five segments only three of segments can be populated. How Gateway is different from Routers? A gateway operates at the upper levels of the OSI model and translates information between two completely different network architectures or data formats. List the layers of OSI a. Physical Layerb. Data Link Layerc. Network Layerd. Transport Layere. Session Layerf. Presentation Layerg. Application Layer List the steps involved in creating the checksum. a. Divide the data into sectionsb. Add the sections together using 1s complement arithmeticc. Take the complement of the final sum, this is the checksum. Name the categories of Multiplexing? a. Frequency Division Multiplexing (FDM)b. Time Division Multiplexing (TDM)i. Synchronous TDMii. ASynchronous TDM Or Statistical TDM.c. Wave Division Multiplexing (WDM) Name the factors that affect the performance of the network? a. Number of Usersb. Type of transmission mediumc. Hardwared. Software Name the factors that affect the reliability of the network? a. Frequency of failureb. Recovery time of a network after a failure Name the factors that affect the security of the network? a. Unauthorized Accessb. Viruses What are Code Words? r redundant bits are added to each block to make the length n = k + r. The resulting n -bit blocks are called codewords. 2n 2k codewords that are not used. These codewords are invalid or illegal. What are Cyclic Codes? Cyclic codes are special linear block codes with one extra property. In a cyclic code, if a codeword is cyclically shifted (rotated), the result is another codeword. What are Data Words? In block coding, we divide our message into blocks, each of k bits, called datawords. The block coding process is one-to-one. The same dataword is always encoded as the same codeword. What are Digrams and Trigrams? The most common two letter combinations are called as digrams. e.g. th, in, er, re and an. The most common three letter combinations are called as trigrams. e.g. the, ing, and, and ion. What are the advantages of Distributed Processing? a. Security/Encapsulationb. Distributed databasec. Faster Problem solvingd. Security through redundancye. Collaborative Processing

What are the categories of Transmission media? a. Guided Mediai. Twisted Pair cable1. Shielded TP2. Unshielded TPii. Coaxial Cableiii. Fiber-optic cableb. Unguided Mediai. Terrestrial microwaveii. Satellite Communication What are the concerns of the Physical Layer? Physical layer coordinates the functions required to transmit a bit stream over a physical medium.a. Physical characteristics of interfaces and mediab. Representation of bitsc. Data rated. Synchronization of bitse. Line configurationf. Physical topologyg. Transmission mode What are the criteria necessary for an effective and efficient network? a. PerformanceIt can be measured in many ways, including transmit time and response time. b. ReliabilityIt is measured by frequency of failure, the time it takes a link to recover from a failure, and the networks robustness.c. SecuritySecurity issues includes protecting data from unauthorized access and virues. What are the Data link protocols? Data link protocols are sets of specifications used to implement the data link layer. The categories of Data Link protocols are 1. Asynchronous Protocols2. Synchronous Protocolsa. Character Oriented Protocolsb. Bit Oriented protocols What are the data units at different layers of the TCP / IP protocol suite? The data unit created at the application layer is called a message, at the transport layer the data unit created is called either a segment or an user datagram, at the network layer the data unit created is called the datagram, at the data link layer the datagram is encapsulated in to a frame and finally transmitted as signals along the transmission media. What are the different link types used to build a computer network? a. Cablesb. Leased Linesc. Last-Mile Linksd. Wireless Links What are the key design issues of a computer Network? a. Connectivityb. Cost-effective Resource Sharingc. Support for common Servicesd. Performance What are the key elements of protocols? The key elements of protocols area. SyntaxIt refers to the structure or format of the data, that is the order in which they are presented.b. SemanticsIt refers to the meaning of each section of bits.c. TimingTiming refers to two characteristics: When data should be sent and how fast they can be sent. What are the possible ways of data exchange? (i) Simplex (ii) Half-duplex (iii) Full-duplex. What are the responsibilities of Application Layer? The Application Layer enables the user, whether human or software, to access the network. It provides user interfaces and support for services such as e-mail, shared database management and other types of distributed information services.a. Network virtual Terminalb. File transfer, access and Management (FTAM)c. Mail servicesd. Directory Services What are the responsibilities of Data Link Layer? The Data Link Layer transforms the physical layer, a raw transmission facility, to a reliable link and is responsible for node-node delivery.a. Framingb. Physical Addressingc. Flow Controld. Error Controle. Access Control What are the responsibilities of Network Layer? The Network Layer is responsible for the source-to-destination delivery of packet possibly across multiple networks (links).a. Logical Addressingb. Routing What are the responsibilities of Presentation Layer? The Presentation layer is concerned with the syntax and semantics of the information exchanged between two systems.a. Translationb. Encryptionc. Compression

What are the responsibilities of Session Layer? The Session layer is the network dialog Controller. It establishes, maintains and synchronizes the interaction between the communicating systems.a. Dialog controlb. Synchronization What are the responsibilities of Transport Layer? The Transport Layer is responsible for source-to-destination delivery of the entire message.a. Servicepoint Addressingb. Segmentation and reassemblyc. Connection Controld. Flow Controle. Error Control What are the two classes of hardware building blocks? Nodes and Links. What are the two types of transmission technology available? (i) Broadcast and (ii) point-to-point What are the types of errors? a. Single-Bit errorIn a single-bit error, only one bit in the data unit has changedb. Burst ErrorA Burst error means that two or more bits in the data have changed. What are the types of Transmission media? Signals are usually transmitted over some transmission media that are broadly classified in to two categories.a.) Guided Media: These are those that provide a conduit from one device to another that include twisted-pair, coaxial cable and fiber-optic cable. A signal traveling along any of these media is directed and is contained by the physical limits of the medium. Twisted-pair and coaxial cable use metallic that accept and transport signals in the form of electrical current. Optical fiber is a glass or plastic cable that accepts and transports signals in the form of light.b.) Unguided Media: This is the wireless media that transport electromagnetic waves without using a physical conductor. Signals are broadcast either through air. This is done through radio communication, satellite communication and cellular telephony. What Automatic Repeat Request (ARQ)? Error control is both error detection and error correction. It allows the receiver to inform the sender of any frames lost or damaged in transmission and coordinates the retransmission of those frames by the sender. In the data link layer, the term error control refers primarily to methods of error detection and retransmission. Error control in the data link layer is often implemented simply: Any time an error is detected in an exchange, specified frames are retransmitted. This process is called automatic repeat request (ARQ).

Basic Networking Interview Questions


What is EGP (Exterior Gateway Protocol)? It is the protocol the routers in neighboring autonomous systems use to identify the set of networks that can be reached within or via each autonomous system. What is Error Control ? Error control is both error detection and error correction. It allows the receiver to inform the sender of any frames lost or damaged in transmission and coordinates the retransmission of those frames by the sender. In the data link layer, the term error control refers primarily to methods of error detection and retransmission. What is Error Detection? What are its methods? Data can be corrupted during transmission. For reliable communication errors must be deducted and Corrected. Error Detection uses the concept of redundancy, which means adding extra bits for detecting errors at the destination. The common Error Detection methods area. Vertical Redundancy Check (VRC)b. Longitudinal Redundancy Check (VRC)c. Cyclic Redundancy Check (VRC)d. Checksum

What is FDM? FDM is an analog technique that can be applied when the bandwidth of a link is greater than the combined bandwidths of the signals to be transmitted. What is Fixed Size Framing? In fixed-size framing, there is no need for defining the boundaries of the frames. The size itself can be used as a delimiter. What is Flow Control? Flow control refers to a set of procedures used to restrict the amount of data that the sender can send before waiting for acknowledgment. What is Forward Error Correction? Forward error correction is the process in which the receiver tries to guess the message by using redundant bits. What do you meant by triple X in Networks? The function of PAD (Packet Assembler Disassembler) is described in a document known as X.3. The standard protocol has been defined between the terminal and the PAD, called X.28; another standard protocol exists between hte PAD and the network, called X.29. Together, these three recommendations are often called triple X. What is a gateway or Router? A node that is connected to two or more networks is commonly called as router or Gateway. It generally forwards message from one network to another. What is a Linear Block Code? A linear block code is a code in which the exclusive OR (addition modulo-2) of two valid codewords creates another valid codeword. What is a Link? At the lowest level, a network can consist of two or more computers directly connected by some physical medium such as coaxial cable or optical fiber. Such a physical medium is called as Link. What is a Multi-homed Host? It is a host that has a multiple network interfaces and that requires multiple IP addresses is called as a Multi-homed Host. What is a node? A network can consist of two or more computers directly connected by some physical medium such as coaxial cable or optical fiber. Such a physical medium is called as Links and the computer it connects is called as Nodes. What is a peer-peer process? The processes on each machine that communicate at a given layer are called peer-peer process. What is attenuation? The degeneration of a signal over distance on a network cable is called attenuation. What is autonomous system? It is a collection of routers under the control of a single administrative authority and that uses a common Interior Gateway Protocol. What is Bandwidth? Every line has an upper limit and a lower limit on the frequency of signals it can carry. This limited range is called the bandwidth. What is Beaconing? The process that allows a network to self-repair networks problems. The stations on the network

notify the other stations on the ring when they are not receiving the transmissions. Beaconing is used in Token ring and FDDI networks. What is BGP (Border Gateway Protocol)? It is a protocol used to advertise the set of networks that can be reached with in an autonomous system. BGP enables this information to be shared with the autonomous system. This is newer than EGP (Exterior Gateway Protocol). What is Bit Stuffing? Bit stuffing is the process of adding one extra 0 whenever five consecutive Is follow a 0 in the data, so that the receiver does not mistake the pattern 0111110 for a flag. What is Brouter? Hybrid devices that combine the features of both bridges and routers. What is Checksum? Checksum is used by the higher layer protocols (TCP/IP) for error detection What is cladding? A layer of a glass surrounding the center fiber of glass inside a fiber-optic cable. What is CRC? CRC, is the most powerful of the redundancy checking techniques, is based on binary division. What is difference between ARP and RARP? The address resolution protocol (ARP) is used to associate the 32 bit IP address with the 48 bit physical address, used by a host or a router to find the physical address of another host on its network by sending a ARP query packet that includes the IP address of the receiver.The reverse address resolution protocol (RARP) allows a host to discover its Internet address when it knows only its physical address. What is difference between baseband and broadband transmission? In a baseband transmission, the entire bandwidth of the cable is consumed by a single signal. In broadband transmission, signals are sent on multiple frequencies, allowing multiple signals to be sent simultaneously. What is frame relay, in which layer it comes? Frame relay is a packet switching technology. It will operate in the data link layer. What is Framing? Framing in the data link layer separates a message from one source to a destination, or from other messages to other destinations, by adding a sender address and a destination address. The destination address defines where the packet has to go and the sender address helps the recipient acknowledge the receipt. What is Gateway-to-Gateway protocol? It is a protocol formerly used to exchange routing information between Internet core routers. What is ICMP? ICMP is Internet Control Message Protocol, a network layer protocol of the TCP/IP suite used by hosts and gateways to send notification of datagram problems back to the sender. It uses the echo test / reply to test whether a destination is reachable and responding. It also handles both control and error messages. What is IGP (Interior Gateway Protocol)? It is any routing protocol used within an autonomous system.

What is Kerberos? It is an authentication service developed at the Massachusetts Institute of Technology. Kerberos uses encryption to prevent intruders from discovering passwords and gaining unauthorized access to files. What is logical link control? One of two sublayers of the data link layer of OSI reference model, as defined by the IEEE 802 standard. This sublayer is responsible for maintaining the link between computers when they are sending data across the physical network connection. What is LRC? In LRC, a block of bits is divided into rows and a redundant row of bits is added to the whole block. It can detect burst errors. If two bits in one data unit are damaged and bits in exactly the same positions in another data unit are also damaged, the LRC checker will not detect an error. In LRC a redundant data unit follows n data units. What is MAC address? The address for a device as it is identified at the Media Access Control (MAC) layer in the network architecture. MAC address is usually stored in ROM on the network adapter card and is unique. What is Mail Gateway? It is a system that performs a protocol translation between different electronic mail delivery protocols. What is mesh network? A network in which there are multiple network links between computers to provide multiple paths for data to travel. What is multicast routing? Sending a message to a group is called multicasting, and its routing algorithm is called multicast routing. What is Multiple Access? If the physical links are shared by more than two nodes, it is said to be Multiple Access. What is Multiplexing? Multiplexing is the set of techniques that allows the simultaneous transmission of multiple signals across a single data link. What is NETBIOS and NETBEUI? NETBIOS is a programming interface that allows I/O requests to be sent to and received from a remote computer and it hides the networking hardware from applications.NETBEUI is NetBIOS extended user interface. A transport protocol designed by microsoft and IBM for the use on small subnets. What is NVT (Network Virtual Terminal)? It is a set of rules defining a very simple virtual terminal interaction. The NVT is used in the start of a Telnet session. What is OSPF? It is an Internet routing protocol that scales well, can route traffic along multiple paths, and uses knowledge of an Internets topology to make accurate routing decisions. What is packet filter? Packet filter is a standard router equipped with some extra functionality. The extra functionality allows every incoming or outgoing packet to be inspected. Packets meeting some criterion are forwarded normally. Those that fail the test are dropped. What is passive topology? When the computers on the network simply listen and receive the signal, they are referred to as passive because they dont amplify the signal in any way. Example for passive topology -linear bus.

Define Modularity? Modularity is the property of a system that has been decomposed into a set of cohesive and loosely coupled modules. How is polymorphism achieved in java? Inheritance, Overloading and Overriding are used to achieve Polymorphism in java. In Java, How to make an object completely encapsulated? All the instance variables should be declared as private and public getter and setter methods should be provided for accessing the instance variables. What are the core OOPs concepts? Abstraction, Encapsulation, Inheritance and Polymorphism are the core OOPs concepts. What is meant by Dynamic binding? Dynamic binding is a binding in which the class association is not made until the object is created at execution time. It is also called as late binding. What is meant by Encapsulation? Encapsulation is the process of compartmentalizing the elements of an abstraction that defines the structure and behavior. Encapsulation helps to separate the contractual interface of an abstraction and implementation. What is a Class? Class is a template for a set of objects that share a common structure and a common behavior. What is a base class? Base class is the most generalized class in a class structure. Most applications have such root classes. In Java, Object is the base class for all classes. What is a constructor? Constructor is an operation that creates an object and/or initializes its state. What is a destructor? Destructor is an operation that frees the state of an object and/or destroys the object itself. In Java, there is no concept of destructors. Its taken care by the JVM. What is a subclass? Subclass is a class that inherits from one or more classes What is a superclass? superclass is a class from which another class inherits. What is an Abstract Class?

Abstract class is a class that has no instances. An abstract class is written with the expectation that its concrete subclasses will add to its structure and behaviour, typically by implementing its abstract operations. What is an Object? Object is an instance of a class. It has state, behaviour and identity. It is also called as an instance of a class. What is collaboration? Collaboration is a process whereby several objects cooperate to provide some higher level behaviour. What is an Instance? An instance has state, behaviour and identity. The structure and behaviour of similar classes are defined in their common class. An instance is also called as an object. What is an Interface? Interface is an outside view of a class or object which emphasizes its abstraction while hiding its structure and secrets of its behaviour. What is meant by Object Oriented Programming? OOP is a method of programming in which programs are organized as cooperative collections of objects. Each object is an instance of a class and each class belong to a hierarchy. What is meant by Persistence? Persistence is the property of an object by which its existence transcends space and time. What is meant by Binding? Binding denotes association of a name with a class. What is meant by Inheritance? Inheritance is a relationship among classes, wherein one class shares the structure or behaviour defined in another class. This is called Single Inheritance. If a class shares the structure or behaviour from multiple classes, then it is called Multiple Inheritance. Inheritance defines is-a hierarchy among classes in which one subclass inherits from one or more generalized superclasses. What is meant by Polymorphism? Polymorphism literally means taking more than one form. Polymorphism is a characteristic of being able to assign a different behavior or value in a subclass, to something that was declared in a parent class. What is meant by abstraction? Abstraction defines the essential characteristics of an object that distinguish it from all other kinds of objects. Abstraction provides crisply-defined conceptual boundaries relative to the perspective of the viewer. Its the process of focusing on the essential characteristics of an object. Abstraction is one of the fundamental elements of the object model. What is meant by static binding?

Static binding is a binding in which the class association is made during compile time. This is also called as Early binding.

What is method overriding?


Method overriding occurs when sub class declares a method that has the same type arguments as a method declared by one of its superclass. The key benefit of overriding is the ability to define behavior thats specific to a particular subclass type. Note: The overriding method cannot have a more restrictive access modifier than the method being overridden (Ex: You cant override a method marked public and make it protected). You cannot override a method marked static You cannot override a method marked final

What is method overloading?


Method Overloading means to have two or more methods with same name in the same class with different arguments. The benefit of method overloading is that it allows you to implement methods that support the same semantic operation but differ by argument number or type. Note: Overloaded methods MUST change the argument list Overloaded methods CAN change the access modifier Overloaded methods CAN change the return type A method can be overloaded in the same class or in a subclass Overloaded methods CAN declare new or broader checked exceptions

What is the difference between abstraction and encapsulation?


nAbstraction focuses on the outside view of an object (i.e. the interface) Encapsulation (information hiding) prevents clients from seeing its inside view, where the behavior of the abstraction is implemented. Abstraction solves the problem in the design side while Encapsulation is the Implementation. Encapsulation is the deliverables of Abstraction. Encapsulation barely talks about grouping up your abstraction to suit the developer needs.

What is super?
Super is a keyword which is used to access the method or member variables from the superclass. If a method hides one of the member variables in its superclass, the method can refer to the hidden variable through the use of the super keyword. In the same way, if a method overrides one of the

methods in its superclass, the method can invoke the overridden method through the use of the super keyword. Note: You can only go back one level. In the constructor, if you use super(), it must be the very first code, and you cannot access anythis.xxx variables or methods to compute its parameters.

What is runtime polymorphism or dynamic method dispatch?


In Java, runtime polymorphism or dynamic method dispatch is a process in which a call to an overridden method is resolved at runtime rather than at compile-time. In this process, an overridden method is called through the reference variable of a superclass. The determination of the method to be called is based on the object being referred to by the reference variable.

When should I use abstract classes and when should I use interfaces? Use Interfaces when
If various implementations only share method signatures then it is better to use Interfaces. you need some classes to use som e methods which you dont want to be included in the class, then you go for the interface, which makes it easy to just implement and make use of the methods defined in the interface. You see that something in your design will change frequently.

Use Abstract Class when


If various implementations are of the same kind and use common behavior or status then abstract class is better to use. Abstract classes are an excellent way to create planned inheritance hierarchies. Theyre also a good choice for nonleaf classes in class hierarchies. When you want to provide a generalized form of abstraction and leave the implementation task with the inheriting subclass.

Can there be an abstract class with no abstract methods in it?


Yes, there can be an abstract class without abstract methods.

What modifiers are allowed for methods in an Interface?


Only public and abstract modifiers are allowed for methods in interfaces.

Can we create an object for an interface?


Yes, it is always necessary to create an object implementation for an interface. Interfaces cannot be instantiated in their own right, so you must write a class that implements the interface and fulfill all the methods defined in it.

Can overloaded methods be override too?


Yes, derived classes still can override the overloaded methods. Polymorphism can still happen. Compiler will not binding the method calls since it is overloaded, because it might be overridden now or in the future.

When you declare a method as abstract, can other nonabstract methods access it?
Yes, other nonabstract methods can access a method that you declare as abstract.

Do interfaces have member variables?


Interfaces may have member variables, but these are implicitly public, static,andfinal- in other words, interfaces can declare only constants, not instance variables that are available to all implementations and may be used as key references for method arguments for example.

Can we instantiate an interface?


You cant instantiate an interface directly, but you can instantiate a class that implements an interface.

Can we instantiate an abstract class?


An abstract class can never be instantiated. Its sole purpose is to be extended (subclassed).

What are the principle concepts of OOPS?


There are four principle concepts upon which object oriented design and programming rest. They are: Abstraction Polymorphism Inheritance Encapsulation

Explain the different forms of Polymorphism.


There are two types of polymorphism one is

Compile time polymorphism


and the other is run time polymorphism. Compile time polymorphism is method overloading.

Runtime time polymorphism


is done using inheritance and interface. Note: From a practical programming viewpoint, polymorphism manifests itself in three distinct forms in Java: Method overriding through inheritance Method overloading Method overriding through the Java interface

Is it possible to override the main method?


NO, because main is a static method. A static method cant be overridden in Java.

How to invoke a superclass version of an Overridden method?


To invoke a superclass method that has been overridden in a subclass, you must either call the method directly through a superclass instance, or use the super prefix in the subclass itself. From the point of the view of the subclass, the super prefix provides an explicit reference to the superclass implementation of the method. // From subclass super.overriddenMethod();

How do you prevent a method from being overridden?


To prevent a specific method from being overridden in a subclass, use the final modifier on the method declaration, which means this is the final implementation of this method, the end of its inheritance hierarchy. public final void exampleMethod() { // Method statements }

How does Java implement polymorphism?


(Inheritance, Overloading and Overriding are used to achieve Polymorphism in java). Polymorphism manifests itself in Java in the form of multiple methods having the same name. In some cases, multiple methods have the same name, but different formal argument lists (overloaded methods). In other cases, multiple methods have the same name, same return type, and same formal argument list (overridden methods).

What is Abstraction?
Abstraction refers to the act of representing essential features without including the background details or explanations.

What is Encapsulation?
Encapsulation is a technique used for hiding the properties and behaviors of an object and allowing outside access only as appropriate. It prevents other objects from directly altering or accessing the properties or methods of the encapsulated object.

What is Dynamic Binding?


Binding refers to the linking of a procedure call to the code to be executed in response to the call. Dynamic binding (also known as late binding) means that the code associated with a given procedure call is not known until the time of the call at run-time. It is associated with polymorphism and inheritance.

What is Polymorphism?
Polymorphism is briefly described as one interface, many implementations. Polymorphism is a characteristic of being able to assign a different meaning or usage to something in different contexts specifically, to allow an entity such as a variable, a function, or an object to have more than one form.

What is Inheritance?
Inheritance is the process by which objects of one class acquire the properties of objects of another class. Inheritance is done by using the keyword extends. The class that does the inheriting is called a subclass. A class that is inherited is called a superclass. The two most common reasons to use inheritance are: o To use polymorphism o To promote code reuse

What is an Interface?
An interface is a description of a set of methods that conforming implementing classes must have. Note: You cant mark an interface as final. An Interface cannot extend anything but another interfaces. Interface variables must be static.

What is a marker interface?


Marker interfaces are those which do not declare any required methods, but signify their compatibility with certain operations. The java.io.Serializable interface andCloneable are typical marker interfaces. These do not contain any methods, but classes must implement this interface in order to be serialized and de-serialized.

What is an abstract class?


Abstract classes are classes that contain one or more abstract methods. An abstract method is a method that is declared, but contains no implementation.

Note: Abstract classes may not be instantiated, and require subclasses to provide implementations for the abstract methods. You cant mark a class as both abstract and final. If even a single method is abstract, the whole class must be declared abstract.

What are the differences between Interface and Abstract class? Abstract Class
An abstract class can provide complete, default code and/or just the details that have to be overridden. An abstract class can have instance variables. An abstract class can have any visibility: public, private, protected. In case of abstract class, a class may extend only one abstract class. An abstract class can have non-abstract methods. Abstract classes are fast. If we add a new method to an abstract class then we have the option of providing default implementation and therefore all the existing code might work properly. An abstract class can contain constructors.

Interfaces
An interface cannot provide any code at all,just the signature. An Interface cannot have instance variables. An Interface visibility must be public (or) none. A Class may implement several interfaces. All methods of an Interface are abstract. Interfaces are slow as it requires extra indirection to find corresponding method in the actual class. If we add a new method to an Interface then we have to track down all the implementations of the interface and define implementation for the new method. An Interface cannot contain constructors.

What are the differences between method overloading and method overriding? Overloaded Method
Arguments Return type Exceptions Must change Can change Can change

Overridden Method
Must not change Cant change except for covariant returns Can reduce or eliminate. Must not throw new or broader checked exceptions Must not make more restrictive (can be less restrictive) Object type determines which method is selected. Happens at runtime.

Access Invocation

Can change Reference type determines which overloaded version is selected. Happens at compile time.

DBMS - Interview Questions and Answers Part 3


Explain the difference between total specialization and partial specialization. Total specialization exists when every instance of a supertype must also be an instance of a subtype. Partial specialization exists when every instance of a supertype does not have to be an instance of a subtype. Explain the difference between an ERD and EER. An EER includes everything in an ERD and an EER allows for more complex relationships than an ERD. An EER allows for object-oriented data modeling and include supertypes and subtypes entities and inheritance. Explain the difference between the disjoint and overlap rule. The disjoint rule states an entity instance of a supertype can only be a member of one subtype. The overlap rule states an entity instance of a supertype can be a member of multiple subtypes. List the three types of business rules and define each of them. A derivation is a statement that is derived from other knowledge. A structured assertion is a statement that expresses some aspect of the static structure of an organization. An action assertion is a statement of a constraint on the actions of an organization. Explain how a scenario is used for business rules. A scenario is used to test business rules. It is a short script that describes how a business reacts to certain situations. Explain some of the main goals of normalization. Normalization should minimize data redundancy. It should also simplify referential integrity constraints. Normalization will also make it easier to insert, update, and delete data. And finally, it provides better design. List some of the properties of a relation. Relations in a database have a unique name and no multivalued attributes exist. Each row is unique and each attribute within a relation has a unique name. The sequence of both columns and rows is irrelevant. Explain what needs to happen to convert a relation to third normal form First you must verify that a relation is in both first normal form and second normal form. If the relation is not, you must convert into second normal form. After a relation is in second normal form, you must remove all transitive dependencies. Describe how a supertype/subtype relationship is mapped into a relation. A separate relation is created for each supertype and subtype. The attributes common for all of the subtypes are assigned to the supertype. Each subtype has the primary key from the supertype assigned to it. A subtype discriminator is added to the supertype. Describe domain constraints. Domain constraints include entity integrity and referential integrity. The domain is a set of values that may be assigned to an attribute. The entity integrity rule states that no part of a primary key cannot be null. Referential integrity states that each foreign key value must match a primary key value or be null. What are the four objectives of the selection of a data type? A data type should be selected so that all possible values are represented using minimal storage

space. The data type should help to ensure data integrity and support all possible data manipulations (i.e., cannot place a letter in a field such as salary where a number is required). Describe the four types of indexes. A unique primary index is unique and is used to find and store a row. A no unique primary index is not unique and is used to find a row but also where to store a row (based on its unique primary index). A unique secondary index is unique for each row and used to find table rows. A no unique secondary index is not unique and used to find table rows. What is De-normalization and why would someone consider doing so? De-normalization is the process of taking normalized relations and changing them so that they are not longer normalized. This process may lead to anomalies and create data redundancy as negative consequences. However, the revised relations should improve database performance. Compare a hierarchical and network database model? The hierarchical model is a top-down structure where each parent may have many children but each child can have only one parent. This model supports one-to-one and one-to-many relationships. The network model can be much more flexible than the hierarchical model since each parent can have multiple children but each child can also have multiple parents. This model supports one-to-one, oneto-many, and many-to-many relationships. Describe the differences between vertical and horizontal portioning. Horizontal portioning is where the rows in a relation are separated by some criteria and placed into a new relation or file with the same layout as the original relation (in this case only the records in each file differ). Vertical portioning is where the columns in a relation are separated by some criteria and placed into a new relation or file with a different layout as the original relation. Explain the difference between a dynamic and materialized view. A dynamic view may be created every time that a specific view is requested by a user. A materialized view is created and or updated infrequently and it must be synchronized with its associated base table(s). Discuss some of the techniques that can be used to tune operational performance. Choosing primary and secondary keys can increase the speed of row selection, joining, and row ordering. Selecting the appropriate file organization for base tables and indexes can also improve performance. Clustering related rows together and maintaining statistics about tables and indexes can lead to increased efficiency. Briefly describe the three types of SQL commands. Data definition language commands are used to create, alter, and drop tables. Data manipulation commands are used to insert, modify, update, and query data in the database. Data control language commands help the DBA to control the database. What are the steps to follow when preparing to create a table? 1. Identify the data type, length, and precision for each attribute. 2. Identify the columns that can accept a null value. 3. Identify the columns that need to be unique. 4. Identify primary and related foreign keys with the parent table being created before the child. 5. Determine default values. 6. Determine where the domain values are that need to be constrained. 7. Create the indexes. What are some disadvantages of a standard language such as SQL? A standard language can hinder the effort to create a new language. One standard is never enough to meet all of the business needs. A standard can be a compromise among interested parties which can cause the standard to not be ideal. If a standard is altered by some, than portability between platforms could be hurt. Explain a join between tables A join allows tables to be linked to other tables when a relationship between the tables exists. The relationships are established by using a common column in the tables and often use the primary/foreign key relationship.

Describe and contrast a trigger and a procedure. Triggers are stored and controlled in the DBMS. A trigger is executed automatically when a condition is met (INSERT, UPDATE, or DELETE). A procedure is also stored in a database. A procedure is not executed automatically. Briefly describe an outer join. An outer join includes the records that match and those that do not have a matching value in another table. Outer joins can be a LEFT outer join (includes all records from the first table listed) or a RIGHT outer join (includes all records from the second table listed). Outer joins are not easily used with more than two tables. Describe a sub query. A sub query is a query that is composed of two queries. The first query (inner query) is within the WHERE clause of the other query (outer query). In some cases the inner query provides results for the outer query to process. In other cases, the outer query results provide results for the inner query (correlated sub query). Describe the difference between embedded and dynamic SQL. Embedded SQL is the process of including hard coded SQL statements. These statements do not change unless the source code is modified. Dynamic SQL is the process of generating SQL on the fly. The statements generated do not have to be the same each time. Explain the difference between two and three-tier architectures. A three-tier architecture includes a client and two server layers. The application code is stored on the application server and the database is stored on the database server. A two-tier architecture includes a client and one server layer. The database is stored on the database server. Describe and contrast SQL and QBE. QBE is a direct-manipulation database language that uses a graphical approach to query construction. Some database systems translate QBE queries into SQL. QBE does not adhere to a standard but SQL does. Both SQL and QBE are relational database languages. Describe ODBC ODBC is a standard that contains an interface that provides a common language for application programs to access and process SQL databases. In order to use ODBC, a driver, server name, database name, user id, and password are required. ODBC is important for Internet applications and has gained wide acceptance. Compare a thin and a fat client. A fat client is a PC that is responsible where most processing occurs on the client rather than the server. Some of the fat client activities include processing, presentation logic, and business rules logic. A thin client is a PC where only limited processing occurs. In these cases, more processing should occur on the application server. Describe some reasons that someone familiar with Microsoft Access will want to learn VBA. You can perform more complex functions and error handling can be accommodated by VBA. VBA code will execute faster since code runs faster than macros and maintenance is easier because VBA modules are stored with the forms and reports. Reading VBA is easier because you can see the entire code. Finally, you can pass parameters and use OLE automation better. Describe middleware applications that ease the connection of databases to Web applications. Both ASP and ColdFusion are middleware that ease the connection of databases to Web applications. Both require the use of several files. Both use tags and are executed on the server. Both Internet Explorer and Netscape can access these files. The programmer does not need to be concerned with the client when they work with this middleware. Describe JavaScript and VBScript. JavaScript shares many features with Java. Developers use it to achieve interactivity. JavaScript is an

open language and does not require a license. It is supported by both Internet Explorer and Netscape. VBScript is similar to JavaScript. It is based on Visual Basic but is simpler. Microsoft developed this language. Describe Web Services. Web Services are improving the ability of computers to communicate over the Internet. These services use XML programs and usually run in the background. Easier integration of applications may be possible because developers do not need to be familiar with the technical details with applications that are being integrated. UDDI is a technical specification for creating a distributed registry of Web services and businesses that are open to communicating through Web services. Provide an overview of XML. XML is used to structure and manipulate data involved with a browser and is becoming the standard for e-commerce. XML uses tags that are similar to HTML in that they use the angle brackets, but XML describes the content whereas HTML describes the appearance. The XML schema standard was published in May 2001 by W3C. Describe Website security issues. Website security issues include unauthorized access to the several aspects of ones Website. Security measures should include all aspects of the system such as the network, operating level, database, and Web server. Regular monitoring and security testing by a company should help to avoid intrusion into ones system. Explain the role of metadata for the three-layer architecture. Each of the three layers has a metadata layer linked with it. The metadata layer describes the properties or characteristics of the data. The operational metadata describe the data used in the various operational and external systems. The enterprise data warehouse metadata describe the reconciled data layer. The data mart metadata describes the derived data layer. Describe why operational and informational systems are separate. Operational systems are used to run the business in real time on a daily basis and contain current data. Non-managers and non-analysts work in this type of system. Operational systems must process large volumes of data. Informational systems are used to support decisions and contain historical data. Managers and analysts work in this type of system. Informational systems have periodic batch updates. Describe a data warehouse. A data warehouse is organized around specific subjects. The data is defined using consistent naming, format, and encoding structure standards. The data contains a time element, so that the data can be studied for trends. No data in a data warehouse can be updated by end users. Explain why an information gap exists in most organizations. One reason that an information gap exists is the fact that systems have been developed in separate, segmented efforts. This has helped the data from being stored in an integrated database and thus the data is in an inconsistent structure. The other reason for the gap is that most systems are created to support the operational aspect of an organization. The systems were not developed for decision making. Describe the differences between a data warehouse and data mart. A data warehouse is for the enterprise and contains multiple subjects. A data mart is for a specific functional area and focuses on one subject. A data warehouse is flexible and data-oriented and contains detailed historical data. A data mart is restrictive and project-oriented and contains some historical data. Describe the difference between data and database administration. Data administration is responsible for the overall management of data resources. Some of the core roles include the creation of data policies, procedures and standards, resolve data ownership issues, and manage the information repository. Database administration is physical database oversight.

Some of the core duties include the selection of the DBMS and software tools, the installation and upgrade of the DBMS, and database performance tuning. What are some of the important security features of a DBMS? One of the features includes the use of views which allows the presentation of only data needed by someone and limits the capability of database updates. The use of integrity controls includes such things as domains, assertions, and checks. Also authorization rules, user-defined procedures, encryption, authentication schemes, and backups are important. Describe concurrency control. Concurrency control is the process managing simultaneous operations against a database so that database integrity is not compromised. There are two approaches to concurrency control. The pessimistic approach involves locking and the optimistic approach involves versioning. Explain locking. Locking is denying others the ability to update a record until someone completes the update or releases the record. Locking can occur on many different levels in a database. It can occur at the database, table, record, or field level. A lock can be shared (another can read the record while an update is in progress) or exclusive (no one can read the record while an update is in progress). Explain issues for database performance. The installation of the database is an important issue since the better the installation, the better the performance could be. Memory usage is learning how the DBMS uses main memory and then using that knowledge to enable better performance. I/O is usually very intense in a DB, so understanding how users will use the data will help to prepare the database better. CPU usage and application tuning are also important considerations. Describe the difference between homogeneous and heterogeneous distributed database. A homogenous database is one that uses the same DBMS at each node. Either each node can work independently or a central DBMS may coordinate database activities. A heterogeneous database is one that may have a different DBMS at each node. It may support some or all of the functionality of one logical database. It may support full Distributed DBMS functionality or partial Distributed DBMS functionality. What is a distributed database? A distributed database is a single logical database that is spread across more than one node or locations that are all connected via some communication link. It requires multiple DBMSs, running at each remote site. A distributed database can be either homogenous (same DBMS at each node) or heterogeneous (different DBMS at some nodes). What is the difference between horizontal and vertical partitioning? Horizontal partitioning is where some rows of a table are placed into the base relations at one site and other rows are placed at another site. Vertical partitioning is where some columns of a table are placed into the base relations at one site and other columns are placed at another site but each all of these relations must share a common domain. Explain concurrency transparency. Concurrency transparency is where each transaction in a distributed database is treated as if it is the only one in the system. Therefore if several transactions are running at one time, the results will be the same as if each transaction was run in serial order. The transaction manager helps to provide concurrency control. The three methods that may be used are locking, versioning, and timestamping. Explain snapshot replication. Snapshot replication can be used when an application does not require that the data always be current. These applications can be updated by periodic table copying or snapshots. As part of the snapshot effort, all of the data to be included in the snapshot is collected at a primary point. Then a read-only snapshot is taken and the snapshot is sent to each site so that the update can be made.

What are the ways in which an Oracle database can be created? There are three (3) ways to create an Oracle database. You can create a database using the Database Configuration Assistant, using the Oracle-supplied database creation procedures or using the SQL CREATE DATABASE command. What are sequences, and what are the possible problems when using them to create surrogate keys? A sequence is an object that generates a sequential series of unique numbers. Sequences are most often used to provide values for surrogate keys. However, there are three problems with using sequences. First, a developer can use a defined sequence for any purpose; and if a sequence is used for purposes other than the surrogate key, some values will be missing. A second problem is that there is nothing in the schema that prevents someone from issuing an INSERT statement that adds data to the table but that does not use the sequence. Finally, it is possible to use the wrong sequence when putting data into a table. Under what conditions should indexes be used? Indexes can be created to enforce uniqueness, to facilitate sorting, and to enable fast retrieval by column values. A good candidate for an index is a column that is frequently used with equal conditions in WHERE clauses. Explain the three levels of transaction isolation supported by Oracle. Oracle supports read committed, serializable, and read-only transaction isolation levels. Because of the way Oracle System Change Number (SCN) values are processed, Oracle never reads dirty data. Serializable isolation is possible, but the application program must be written to process the Cannot serialize exception. Applications can place locks explicitly using SELECT FOR UPDATE commands but this is not recommended. What are the types of files used in Oracle recovery? Datafiles, control files and two types of ReDo log files: OnLine Redo and Offline ReDo (which is also known as Archive ReDo). What is the difference between SQL Server 2000 complete and differential backups? A complete backup makes a copy of the entire database. A differential backup makes a copy of the changes that have been made to the database since the last complete backup. A complete backup must be made before the first differential backup. Because differential backups are faster, they can be taken more frequently and the chance of data loss is reduced. Complete backups take longer but are slightly simpler to use for recovery. Explain the meaning of each of the transaction levels supported by SQL Server. The strictest isolation level is SERIALIZABLE. With it, SQL Server places a range lock on the rows that have been read. This level is the most expensive to use and should only be used when absolutely required. The next most restrictive level is REPEATABLE READ, which means SQL Server places and holds locks on all rows that are read. It is possible to make dirty reads by setting the isolation level to READ UNCOMMITTED, which is the least restrictive level. READ COMMITTED is the default isolation level. Explain the difference between the SQL Server 2000 simple, full, and bulk-logged recovery models. With the simple recovery model, no logging is done. The only way to recover a database is to restore the database to the last backup. With full recovery, all database changes are logged. With bulk-logged database recovery, all changes are logged except those that cause large log entries. What is the difference between SQL Server 2000 clustered and nonclustered indexes? With a clustered index, the data are stored in the bottom level of the index and in the same order as that index. With a nonclustered index, the bottom level of an index does not contain data; it contains pointers to the data. For data retrieval, clustered indexes are faster than nonclustered indexes. What triggers does SQL Server 2000 support? SQL Server 2000 supports INSTEAD OF and AFTER triggers only. There is no SQL Server support for

BEFORE triggers. A table may have one or more AFTER triggers for insert, update and delete actions; AFTER triggers may not be assigned to views. A view or table may have at most one INSTEAD OF trigger for each triggering action of insert, update or delete. What is the relationship of ODBC, OLE DB, and ADO? Developed first, the ODBC standard is for relational databases; while the OLE DB standard provides functionality for both relational and other databases. Finally, ADO was developed to provide easier access to OLE DB data for the non-object-oriented programmer. What are the three types of data sources used with ODBC? An ODBC file data source is a file that can be shared among database users. A ODBC system data source is one that is local to a single computer. A ODBC user data source is only available to the user who created it. What disadvantage of ODBC does OLE DB overcome? By breaking the features and the functions of a DBMS into COM objects, OLE DB characteristic overcomes a major disadvantage of ODBC. With ODBC, a vendor must create an ODBC driver for almost all DBMS features and functions in order to participate in ODBC at all. This is a large task that requires a substantial initial investment. With OLE DB, however, a DBMS vendor can implement portions of their product. What are to goals of OLE DB? The major goals of OLE DB are to: (1) Create object interfaces for DBMS functionality pieces; (2) Increase flexibility for developers and users; (3) provide an object interface over any type of data; and (4) do not force data to be converted or moved from where it is. In OLE DB, what is the difference between an interface and an implementation? An OLE DB interface is specified by a set of objects, and the properties and methods that they expose, and OLE DB defines standardized interfaces. An object need not expose all of its properties and methods in a given interface. An OLE DB implementation defines how the object supports the interface. The implementation is completely hidden from the user. Thus developers of an object are free to change the implementation whenever they want, but they should not change the interface without consulting their users. Why is XML a better markup language than HTML? XML is a better markup language than HTML, primarily because XML provides a clear separation between document structure, content, and materialization. Symbols cannot be used ambiguously with XML. What are the two means to describe the content of XML documents? DTD (Document Type Declarations) and XML Schemas. An XML document that conforms to its DTD is called type-valid. A document can be well-formed and not be type-valid, either because it violates the structure of its DTD or because it has no DTD. However, DTDs have limitations and to overcome these limits XML Schemas were created. XML Schemas are XML documents that are the preferred method for defining document structure. What is the difference between simple elements and complexType elements? Simple elements have only one data value. ComplexType elements can have multiple elements nested within them. ComplexTypes may also have attributes. The elements contained in a complexType may be simple or other complexTypes. ComplexTypes may also define element sequences. What is ADO.NET? ADO.NET is a new, improved, and greatly expanded version of ADO that was developed for the Microsoft .NET initiative. ADO.NET incorporates all of the functionality of ADO, but adds much more. In particular, ADO.NET facilitates the transformation of XML documents to and from database data. Most importantly, ADO.NET introduces the concept of datasets, which are in-memory, full-function, independent databases.

What is a dataset? A dataset is an in-memory database that is disconnected from any regular database, but has all the important characteristics of a regular database. Datasets can have multiple tables, relationships, referential integrity rules, referential integrity actions, views and the equivalent of triggers. Datasets are needed to provide a standardized, non-proprietary means to process database views. They are especially important for the processing of views with multiple multivalued paths. Briefly describe the four JDBC driver types that Sun defines. Type 1 drivers provide a bridge between Java and ODBC. Types 2-4 drivers are written entirely in Java, but differ as to how they connect to the DBMS. Type 2 drivers rely on the DBMS product for intermachine communication, if any. Type 3 drivers translate JDBC calls into a DBMS-independent network protocol. Type 4 drivers translate JDBC calls into a DBMS-dependent network protocol. What is the difference between a Java servlet and a Java applet? An applet is a compiled Java bytecode program that is transmitted to a browser via HTTP and is invoked using the HTTP protocol on the users workstation. A servlet is a Java program that is invoked on the server to respond to HTTP requests. What is the coding pattern for using a JDBC driver? 1. Load the driver.2. Establish a connection to the database.3. Create a statement.4. Do something with the statement. What is a Java bean? A Java bean is a Java class that has the following three properties. (1) There are no public instance variables. (2) All persistent values are accessed using methods named getxxx and setxxx. (3) The bean class must either have no constructors or it must have one explicitly defined zero-argument constructor. How are surrogate keys and metadata handled in MySQL? MySQL uses integer data types combined with the property AUTO_INCREMENT to create surrogate keys. This creates a sequence that starts at one (1) and increases by one (1) for each new record. MySql maintain its metadata in a database named mysql. For example, this database maintains two tables named user and db. What is a data mart? A data mart is a collection of data smaller in scope and size than a data warehouse. It is dedicated to data from a particular business component of business functional area. A data mart may function as a subset of a larger data warehouse. Users of a data mart are usually knowledgeable analysts in the business area using the data mart. What is RFM analysis? RFM analysis is a Business Intelligence (BI) reporting system that analyzes and ranks customers based on their purchasing patterns. R refers to how recently a customer placed an order, F refers to how frequently the customer orders, and M refers to how much money the c ustomer spends. Typically, the customers are ranked into 20% groups and assigned a number to represent their ranking. Thus 1 means top 20%, 2 the next 20% and so on. In this system a score of 1 is best and a score of 5 is worst. Thus a customer with an RFM score = 1 5 1 would be one who has ordered recently, does not order frequently, and who makes large purchases. What are the functions of a reporting system? A reporting system has three functions: 1. Report authoring connecting to data sources, creating the report structure and formatting the report. 2. Report management defining who receives which reports, when they receive them and how the reports are delivered. 3. Report delivery based on report management metadata, either pushing the reports to the recipients or allowing them to be pulled by the recipients. What is OLAP? OnLine Analytical Processing (OLAP) is a Business Intelligence (BI) reporting system. OLAP provides the user with the capability to sum, count, average and do other simple arithmetic operations on

groups of data. An OLAP report has measures and dimensions. Measures are the data values to be displayed. Dimensions are characteristics of the measures. OLAP reports are called OLAP cubes, although such reports are not limited to three dimensions. What is market basket analysis? Market basket analysis is a data mining technique that determines which sets of products tend to be purchased together. A common technique uses conditional probabilities. In addition to the basic probability that an item will be purchased, three results are of particular interest:Support the probability of two items being purchased together.Confidence the probability of a second item being purchased GIVEN that another item has been purchased.Lift calculated as confidence divided by a basic probability, this shows the likelihood of a second item being purchased IF an item is purchased. Explain the differences between structured data and unstructured data. Structured data are facts concerning objects and events. The most important structured data are numeric, character, and dates. Structured data are stored in tabular form. Unstructured data are multimedia data such as documents, photographs, maps, images, sound, and video clips. Unstructured data are most commonly found on Web servers and Web-enabled databases. Explain why it is still necessary to have at least some familiarity with file processing systems even though it has become evident that traditional file processing systems have a number of shortcomings and limitations. Many businesses still use file processing systems today. This is especially true in the creation of backups for a database system. In addition, if you understand some of the limitations of a file processing system such as program-data dependence, duplication of data, limited data sharing, lengthy development times, and excessive program maintenance, you can try and avoid them as you design and develop a databases. What are some of the disadvantages associated with conventional file processing systems? There are five disadvantages. Program-data dependence occurs when file descriptions need to be changed in all programs whenever a file description changes. Duplication of data is storing the data more than one time. Limited data sharing occurs when the files are private so no one outside of one application can access the data. Lengthy development times exist because file processing systems takes longer to develop. Lastly, excessive program maintenance exists since the effort to maintain a program is larger in this environment. The range of database applications can be divided into five categories. Explain the five different categories. Databases can support from a single user (personal database) up to supporting the requests of the world (internet database). In between, a database can support a workgroup (a relatively small group of people), department database (a functional unit in an organization such as marketing), or an enterprise database (entire organization). Explain the differences between an intranet and an extranet. An Internet database is accessible by everyone who has access to a Web site. An intranet database limits access to only people within a given organization. An extranet database limits access to only people within a company and a companys customers and suppliers. Briefly explain the five components of an Information Systems Architecture and their relationship to data. Processes that manipulate the data. Networks that transport the data. People who process and use the data. Events and point in time when processes need to be performed with the data. Reasons for events and rules to govern the processing of the data. Explain the systems development life cycle. This is the traditional method to develop, maintain, and replace information systems that includes the project identification and selection, project initiation and planning, analysis, logical design, physical design, implementation, and maintenance steps. The process is a series of steps that are ideally

completed in a linear fashion. In reality, the process is not linear and the process requires steps to be revisited and an overlap of steps. Explain the differences of the two principal types of packaged data models. Universal data models are common to many organizations. These models may be useful for similar functions that are used across companies or organizations such as purchasing and accounting. Industry-specific data models are used by specific industries. Who can make up a systems or database team? Provide a brief explanation of each. The team includes a system analyst who identifies the need for information services to meet opportunities of the business, database analysts who design the database, users who monitor that the system will meet their needs, programmers who write computer programs, database and data administrators who have responsibility for current and future databases and other technical experts. Briefly describe the six database activities that occur during the systems development life cycle. The enterprise modeling that analyzes the current data processing. Conceptual data modeling that identifies entities, relationships, and attributes. The logical database design that identifies data integrity and security requirements. The physical database design and definition that defines the database to a DBMS. The database implementation that installs and converts data from prior systems. Database maintenance that fixes errors in the database and database applications. Briefly explain an ERD. An ERD is a detailed logical representation of the data for an organization. The ERD includes entities, attributes, relationships, and cardinalities. An ERD is the mechanism where an entity-relationship model is displayed. List some of the chrematistics of good data definitions. Definitions are gathered from the same sources and should be accompanied diagrams. A definition will include special conditions, examples, how the data is created, whether the data can change, who owns the data, whether the data is optional, and whether the data can be broken into something more atomic. Explain minimum and maximum cardinality. Minimum cardinality is the minimum number of instances of an entity that can be associated with each instance of another entity. Maximum cardinality is the maximum number of instances of an entity that can be associated with each instance of another entity. Describe the naming of Relationships? Relationships are verb phrases and represent actions usually in the present tense. The name should exclude vague names such as has. The name should explain what action is being taken and possibly why it is important. Why is modeling time-dependent data with a time stamp important? The values of data may change. A time stamp helps to ensure that the previous value of the data stays in the database after it has changed so that you can see the before and after values through time. Without a time stamp, you will most likely lose some of the history. What are data and information, and how are they related in a database? Data is recorded facts and figures, and information is knowledge derived from data. A database stores data in such a way that information can be created. What is Enterprise Resource Planning (ERP), and what kind of a database is used in an ERP application? Enterprise Resource Planning (ERP) is an information system used in manufacturing companies and includes sales, inventory, production planning, purchasing and other business functions. An ERP system typically uses a multiuser database.

What is a DBMS? DBMS stands for Database Management System. A DBMS receives requests from applications and translates those requests into actions on a specific database. A DBMS processes SQL statements or uses other functionality to create, process and administer databases. Why is a database considered to be self-describing? In addition to the users data, a database contains a description of its own structure. This descriptive data is called metadata. Who is E.F. Codd, and why is he significant in the development of modern database systems? While working at IBM, E.F. Codd created the relational database model. A paper he published in 1970 presented his ideas to the world at large. His work is the foundation for most of the DBMSs currently in use, and thus forms the basis for database systems as we know and use them today. What is SQL, and why is it important? SQL stands for Structured Query Language, and is the most important data processing language in use today. It is not a complete programming language like Java or C#, but a data sublanguage used for creating and processing database data and metadata. All DBMS products today use SQL. Write an SQL SELECT statement to display all the columns of the STUDENT table but only those rows where the Grade column is greater than or equal to 90. SELECT * FROM STUDENT WHERE Grade >= 90; Name and briefly describe the five SQL built-in functions. COUNT: computes the number of rows in a table. SUM: totals numeric columns. AVG: computes the average value. MAX: obtains the maximum value of a column in a table. MIN: obtains the minimum value of a column in a table. Write an SQL SELECT statement to count the number of rows in STUDENT table and display the result with the label NumStudents. SELECT COUNT(*) AS NumStudents FROM STUDENT; What is an SQL subquery? An SQL subquery is a means of querying two or more tables at the same time. The subquery itself is an SQL SELECT statement contained within the WHERE clause of another SQL SELECT statement, and separated by being enclosed in parenthesis. Some subqueries have equivalent SQL join structures, but correlated subqueries cannot be duplicated by a join.. Discuss the alternative terminology that is used in the relational model. Relations are also called tables, and sometimes by the older data processing term files. A row is known as a tuple in the relational model, but may also be referred to as a record. Finally, relational model attributes are known as table columns and sometimes as fields. Why are functional dependencies not equations? Equations deal with numerical relationships. A functional dependency deals with the existence of a determinant relationship between attributes, regardless of whether or not there is a numerical relationship between them. Thus, if we know that there is no hot water every Wednesday, No-HotWater is functionally dependent on Wednesday. So, if we know it is Wednesday, then we know we will have No-Hot-Water. This is a functional dependency, but not an equation. What is a foreign key, and what is it used for? A foreign key is used to establish relationships among relations in the relational model. Technically, a foreign key is a column (or columns) appearing in one relation that is (are) the primary key of another table. Although there may be exceptions, the values in the foreign key columns usually must correspond to values existing in the set of primary key values. This correspondence requirement is created in a database using a referential integrity constraint on the foreign key.

What are insertion and deletion anomalies? A deletion anomaly occurs when, by deleting the facts about one entity, we inadvertently delete facts about another entity; with one deletion, we lose facts about two entities. For example, if we delete the tuple for Student 001289 from a table, we may lose not only the fact that Student 001289 is in Pierce Hall, but also the fact that he has $200 left in his security deposit. An insertion anomaly happens when we encounter the restriction that we cannot insert a fact about one entity until we have an additional fact about another entity. For example, we want to store the fact that the security deposit for Pierce Hall is $300, but we cannot enter this data into the Student relation until a student registers for Pierce Hall. What does it mean when we say that a relation is in Boyce-Codd Normal Form (BCNF)? A relation is in BCNF when every determinant in the relation is a candidate key. This means that any possible primary key can determine all other attributes in the relation. Attributes may not be determined by non-candidate key attributes or part of a composite candidate key. Thus it is said I swear to construct my tables so that all nonkey columns are dependent on the key, the whole key and nothing but the key, so help me Codd! You have been given a set of tables with data and asked to create a new database to store them. When you examine the data values in the tables, what are you looking for? (1) Multivalued dependencies, (2) Functional dependencies, (3) Candidate keys, (4) Primary keys and (5) Foreign keys. Why do normalized tables require more complex SQL when SQL statements are used in application programs? Tables that are normalized contain data that has been distributed among the tables, but which may need to be recombined to answer queries from an application. To recombine the data, the programmer will have to use subqueries and/or joins. These SQL structures are more complex to write than a simple SELECT statement. What is the multivalue, multicolumn problem? Include an example not used in the text. The multivalue, multicolumn problem occurs when a table is designed to include multiple columns that hold variations of one type of attribute data. One example is where boat owners have the names of their boats stored as BOAT_01, BOAT_02 and BOAT_03. Why is the multivalue, multicolumn problem another form of the multivalued dependency problem? Both problems try to store multiple values on an attribute in a table. In the multivalue, multiplecolumn problem, the multiple values are stored in different columns. In the mutlivalued dependency problem the multiple values are stored in different rows. In both cases, the solution is the same: store the multiple values in a separate table. What is the inconsistent values problem? Include an example not used in the text. The inconsistent values problem occurs when different users or data sources use slightly different forms of the same data value. One example is where automobiles are specified as Ford, 2 -door, Red in one cell and Red Ford 2-door in another. Explain the relationship between entity, entity class, and entity instance. An entity is something that can be identified in the users work environment, something that the users want to track. Entities of a given type are grouped into entity classes. An entity instance is the representation of a particular entity. Explain the difference between attributes and identifiers. Entities have attributes. Attributes are properties that describe the entitys characteristics. Entity instances have identifiers. Identifiers are attributes that name, or identify, entity instances. Name and describe three types of binary relationships. 1:1 a single entity instance of one type is related to a single-entity instance of another type.1:N a single entity instance of one type is related to many-entity instances of another type.M:N manyentity instances of one type relate to many-entity instances of another type.

What is the archtetype/instance pattern? The archetype/instance pattern occurs when one entity tracks occurrences of another entity. A common example is the relationship between CLASS and SECTION, where the actual occurrence of a class happens when students register for a SECTION of that CLASS. The archetype/instance pattern is implemented as an ID-dependent relationship. What is a recursive relationship? Give an example not used in the text. A recursive relationship is a relationship between an entity and itself. For example, given the entity PERSON, a recursive relationship could be used to show a PERSON and his or her SIBLINGs (brothers and sisters). What are the steps for transforming an entity into a table? The steps are: (1) specify the primary key, (2) specify candidate keys, (3) specify column properties including null status, data type, default value (if any), and data constraints (if any), and (4) verifying normalization. Define a surrogate key, describe the ideal primary key and explain how surrogate keys meet this ideal. The ideal primary key is short, numeric and fixed. A surrogate key is a unique, DBMS-supplied identifier intended to be used as the primary key of a table. Further, the DBMS will not allow the value of a surrogate key to be changed. The values of a surrogate key have no meaning to the users and are usually hidden on forms and reports. By design, they are short, numeric and fixed and thus meet the definition of the ideal primary key Define and discuss data constraints. Data constraints on a column are the limits put on the values the data can have. There are four types of data constraints: (1) domain constraints, which define a limited set of values for the column, (2) range constraints, which specify that the values must fall within a certain range, (3) intrarelation constraints, which define what values the column can have based on values of other columns in the same table, and (4) interrelation constraints, which define values the column can have based on values of columns in other tables. In general, how are recursive relationships handled in a database design? A recursive relationship is a relationship among entities of the same class, and is represented in the same way as other relationships are. The rows of the tables can take two different roles, however. Some are parent rows, and others are child rows. Further, the table will contain both its own primary key and the foreign key that links back to the table itself. If a row has no parent, then the value of the foreign key column in that row will be null. If the row has a parent, then there must be a foreign key value in that row that corresponds to the primary key value of another row in the table. What is a cascading update? Referential integrity constraints require that foreign key values in one table correspond to primary key values in another. If the value of the primary key is changed that is, updated the value of the foreign key must immediately be changed to match it. Cascading updates will set this change to be done automatically by the DBMS whenever necessary. What is a SQL view? Briefly explain the use of views. A SQL view is a virtual table built from other tables or views. Views are used to (1) hide columns or rows, (2) show the results of computed columns, (3) hide complicated SQL syntax, (4) layer built-in functions, (5) provide a level of indirection between application programs and tables, (6) assign different sets of processing permissions to tables, and (7) to assign different sets of triggers to the same table. Explain the paradigm mismatch between SQL and application programming languages. SQL statements return a set of rows, while an application program works on one row at a time. To resolve this mismatch the results of SQL statements are processed as pseudofiles, using a cursor or pointer to specify which row is being processed.

Name four applications for triggers. (1) providing default values, (2) enforcing data constraints, (3) updating views and (4) enforcing referential integrity What are stored procedures, and how do they differ from triggers? A stored procedure is a program that is stored within the database and is compiled when used. They can receive input parameters and they can return results. Unlike triggers, their scope is databasewide; they can be used by any process that has permission to use the database stored procedure. What are the advantages of using stored procedures? The advantages of stored procedures are (1) greater security, (2) decreased network traffic, (3) the fact that SQL can be optimized and (4) code sharing which leads to less work, standardized processing, and specialization among developers. Why is database redesign necessary? Database redesign is necessary for two reasons. First, redesign is necessary both to fix mistakes made during the initial database design. Second, redesign is necessary to adapt the database to changes in system requirements. Such changes are common because information systems and organizations do not just influence each other they create each other. Thus, new information systems cause changes in systems requirements. What is the difference between a correlated subquery and a regular subquery? A correlated subquery appears deceptively similar to a regular subquery. The difference is that a regular subquery can be processed from the bottom up. In a regular subquery, results from the lowest query can be determined and used to evaluate the upper-level query. In contrast, in a correlated subquery, the processing is nested; that is, a row from an upper query statement is used in comparison with rows in a lower level query. The key distinction of a correlated subquery is that the lower-level select statements use columns from upper-level statements. What is a dependency graph? A dependency graph is a diagram that is used to portray the connections between database elements. For example, a change in a table can potentially impact relationships, views, indexes, triggers, stored procedures, and application programs. These impacts need to be known and accounted for before making database changes. Explain how to add a NOT NULL column to a table. First, add the column as NULL. Then use UPDATE to add data to every row. Finally use an ALTER TABLE . . . ALTER COLUMN statement to change the column constraint to NOT NULL. You have two tables, EMPLOYEE and COMPUTER that are in a one-to-one relationship. The foreign key is EmpNumber in COMPUTER which references EmpNumber as the primary key of EMPLOYEE. Explain what must be done to convert the one-to-one EMPLOYEE-COMPUTER relationship to a one-to-many relationship where one employee can have more than one computer. In the one-to-one relationship, there will be a constraint on EmpNumber as a foreign key in COMPUTER stating that EmpNumber must be unique. To convert the relationship to a one-to-many relationship, just drop this constraint. Explain the difference between an exclusive lock and a shared lock. An exclusive lock prohibits other users from reading the locked resource; a shared lock allows other users to read the locked resource, but they cannot update it. Explain the difference between optimistic locking and pessimistic locking. Optimistic locking assumes no transaction conflict will occur and deals with the consequences if it does. Pessimistic locking assumes that conflict will occur and so prevents it ahead of time with locks. In general, optimistic locking is preferred for the Internet and for many intranet applications. What is deadlock? How can it be avoided? How can it be resolved once it occurs? Deadlock occurs when two transactions are each waiting on a resource that the other transaction

holds. Deadlock can be prevented by requiring transactions to acquire all locks at the same time; once it occurs, the only way to cure it is to abort one of the transactions and back out of partially completed work. What are the major functions of the database administrator? Managing database structure, controlling concurrent processing, managing processing rights and responsibilities, developing database security, providing for database recovery, managing the DBMS and maintaining the data repository. Explain what we mean by an ACID transaction. An ACID transaction is one that is atomic, consistent, isolated, and durable. Durable means that database changes are permanent. Consistency can mean either statement level or transaction level consistency. With transaction level consistency, a transaction may not see its own changes. There are four transaction isolation levels: read committed, read uncommitted, repeatable read and serialization. Atomic means it is performed as a unit.