Software Engineering Interview Questions & Answers


software-engineering-interview-questions-and-answers

This article contains Software Engineering Interview questions with answers. We have given Software Engineering interview questions faced by freshers and experienced one's in real interviews in IT industry. Dear readers, these Software Engineering Interview questions have been specially designed so that you can get acquainted with the nature of the questions you may be ask during your interviews.

1. What is Software Engineering?

Answer:- IEEE defines 'Software Engineering' as the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. IT industries adopt this approach to deliver software products and services to their clients.

2. What are the categories of software?

Answer:- There are various categories of software, the majority of which are: System software, Application software, Embedded software, Web applications, Artificial intelligence software, and Scientific Software.

3. What is testing?

Answer:- Testing is a process of executing a program with the intent of finding an error.

4. What is white box testing?

Answer:- White box testing is a test case design method that uses the control structure of the procedural design to derive test cases. It is otherwise called as structural testing.

5. What is Black box testing?

Answer:- Black box testing is a test case design method that focuses on the functional requirements of the software. It is otherwise called as functional testing.

6. What are verification and validation?

Answer:-
Verification: Verification refers to the set of activities that software correctly implements a specific function.

Validation: Validation refers to the set of activities that ensure that the software that has been built is traceable to customer requirements.

7. What is debugging?

Answer:- Debugging is the process that results in the removal of the error. It occurs as a consequence of successful testing.

8. Define cyclomatic complexity?

Answer:- Cyclomatic complexity is a software metric that provides a quantitative measure of the logical complexity of a program.

9. What is error tracking?

Answer:- Error tracking is an activity that provides a means for assessing the status of a current project.

10. What is CASE tools?

Answer:- Computer-Aided Software Engineering - CASE tools assist software engineering managers and practitioners in every activity associated with the software process. They automate project management activities to manage all work products produced throughout the process and assist the engineers in their analysis, design, coding, and test work.

11. What is data design?

Answer:- Data design transforms the information domain model created during analysis into the data structures that will be required to implement the software.

12. Define Cohesion and Coupling?

Answer:-
Cohesion: Cohesion is a measure of the relative functional strength of a module.

Coupling: Coupling is a measure of the relative interdependence among module.

13. What are the different types of cohesion?

Answer:- There are different types of cohesion: Coincidental Cohesion, Logical Cohesion Temporal Cohesion, Procedural Cohesion, Communicational Cohesion.

14. What are the different types of coupling?

Answer:- There are different types of coupling : Data coupling, Stamp coupling, Control coupling, External Coupling, Common Coupling, Content coupling.

15. What is user interface design?

Answer:- User interface design creates effective communication,and a medium between a human and a computer.

16. What is meant by specification?

Answer:- A specification can be a written document, a graphical model, a formal mathematical model, a collection of usage scenarios, a prototype, or any combination of these.

17. Define process?

Answer:- A series of steps involving activities, constraints, and resources that produce an intended output of some kind is known as process.

18. How the spiral model works?

Answer:- The spiral model is an evolutionary software process model that couples the iterative nature of prototyping with the controlled and systematic aspects of the waterfall lifecycle model. It also has an emphasis on use or risk management techniques.

19. What is winwin spiral model?

Answer:- Winwin spiral model defines a set of negotiation activities, at the beginning of each pass around the spiral. The best negotiations strive for a win-win result.

20. Mention the various views in the system engineering hierarchy?

Answer:- The various views in system engineering hierarchy from top to bottom in order are: World View, Domain View, Element View, and Detailed view.

21. What is the software requirements definition?

Answer:- A software requirements definition is an abstract description of the services which the system should provide and the constraints under which the system must operate.

22. What is SDLC?

Answer:- A software cycle deals with various parts and phases from planning to testing and deploying. All these activities are carried out in different ways, as per the needs. Each way is known as a Software Development Lifecycle Model (SDLC). Some examples are: Waterfall model, Incremental/Iterative model, and Spiral model.

23. What are data acquisition system?

Answer:- Systems that collect data from sensors for subsequent processing and analysis is termed as Data acquisition systems. Data collection process and processing processes may have different periods and deadlines.

24. Define software configuration model

Answer:- SCM is the art of identifying, organizing, and controlling modifications to the software being built by a programming team. It is an umbrella activity that is applied throughout the software process.

25. What are the SCM activities?

Answer:- SCM activities are developed to :
1. Identify change Control change.
2. Ensure that change is being properly implemented.
3. Report changes to others who may have an interest.

26. What is meant by loop testing?

Answer:- Loop testing is a white box testing technique that focuses exclusively on the validity of loop constructs. This technique can be applied to simple loops, nested loops, concatenated loops, and unstructured loops.

27. What is meant by smoke testing?

Answer:- Smoke testing is an integration testing approach that is commonly used when "shrink wrapped" software products are being developed.

28. 28. What are alpha and beta tests?

Answer:-
Alpha test: Alpha test is the test that is conducted at the developer's site by a customer.

Beta test: Beta test is the test that is conducted at one or more customer sites by the end-user of the software.

29. What is meant by system testing?

Answer:- System testing is actually a series of different tests whose primary purpose is to fully exercise the computer-based system. It verifies whether the system elements have been properly integrated and perform the allocated functions.

30. Mention the categories of debugging approaches?

Answer:-There are three categories of debugging approaches as follows: Brute-force, Backtracking, and Cause elimination.

31. Define metric?

Answer:- IEEE93 defines as a quantitative measure of the degree to which a system, component, or process possesses a given attribute. Metrics are important measures of project parameters that help predict measure and control projects. Metrics also help in estimation.

32. What is adaptive maintenance?

Answer:-Adaptive maintenance is the maintenance to adapt the software to a different operating environment. It involves changing a system so that it operates in a different environment from its initial implementation.

33. What is the user requirements?

Answer:-User requirements should describe functional and non-functional requirements so that they are understandable by system users who don't have detailed technical knowledge. User requirements are defined using natural language, tables, and diagrams.

34. What is the test scenario?

Answer:- The test scenario is the hypothetical story to test the particular functionality of an application. It serves as an input to functional testing. For the test scenario, we need use case.

35. Define prototype?

Answer:- Prototype is an initial version of a software system that is used to demonstrate concepts, try out design options, and generally find out more about the problem and its possible solutions.

36. What is the system image?

Answer:- The system image combines the outward manifestation of the computer-based system, coupled with all supporting information that describes system syntax and semantics

37. what is the transform mapping?

Answer:-Transform mapping is a set of design steps that allows a DFD with transform flow characteristics to be mapped into a specific architectural style.

38. What is the traceability matrix?

Answer:- Traceability matrix is a document in which we map the test cases with the requirements. In general, we check whet er the application works as per requirements or whether we had covered all the required functionality through test cases.

39. What is Agile?

Answer:-Agile software development is a group of software development methods in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to change.

40. What are the advantages of agile?

Answer:-The advantages of agile are :

1. Time to Market: Early and regular releases.
2. Revenue: Early Return On Investment (ROI).
3. High Quality and Productivity: Testing is integrated throughout the cycle.
4. Business Engagement/Customer Satisfaction: Active involvement of a business owner and the high visibility of the product and progress.
5. Motivated Teams: Active involvement & collaboration make Agile development more enjoyable

41. What is Quality Control?

Answer:- Quality Control focus is on the Product.QC measures a product against the existence of a required attribute. Major QC activity is identifying defects and correcting them (Rework).

42. What is Quality Assurance?

Answer:- Quality Assurance focus is on the Process rather than Product. QA ensures "Fitness for Purpose". Building process guidelines, checklists, templates, Training activities.

43. What is Cost of Quality?

Answer:- Cost of Quality (CoQ) is a measure of costs (effort) incurred in ensuring quality. CoQ is typically measured as the percentage of effort spent to ensure quality compared to total project effort. Thus CoQ of 31.38% means that compared to the overall effort, the team has spent 31.38% of the effort to ensure quality.
CoQ = ((Prevention cost + Appraisal cost + Failure cost) x 100) / Total Project effort

44. What is the Cost of Correcting Defects?

Answer:- Defects can get introduced in any of the following stages: Requirements Analysis, Design and Build. It is important to identify the defects and fix them before the release of the software. Accordingly, there is effort and cost involved in fixing the defects.

45. What are the advantages and disadvantages of Black-Box Testing?

Answer:- The following table lists the advantages and disadvantages of black-box testing.

Advantages Disadvantages
Well suited and efficient for large code segments. Limited coverage, since only a selected number of test scenarios is actually performed.
Code access is not required. Inefficient testing, tester only has limited knowledge about an application.
Clearly separates user's perspective from the developer's perspective through visibly defined roles. Blind coverage, since the tester cannot target specific code segments or errorprone areas.
Large numbers of moderately skilled testers can test the application with no knowledge of implementation, programming language, or operating systems. The test cases are difficult to design.

46. What are the advantages and disadvantages of White-Box Testing?

Answer:- The following table lists the advantages and disadvantages of White-Box Testing.

Advantages Disadvantages
Direct statement by statement testing Vast resource needed
Check algorithm are correctly defined and coded. Cannot test performance in terms of availability, reliability, load durability.
Adherence to coding standards. Difficult to maintain
Measure coding quality Costs are high

47. What is the difference between validation and verification?

Answer:- The following table lists the difference between validation and verification.

Validation Verification
Validation is a dynamic mechanism of validating and testing the actual product. Verification is a static practice of verifying documents, design, code, and program.
It does involve executing the code. It does not involve executing the code.
It is computer-based execution of program. It is human-based checking of documents and files.
Validation to check whether the software meets the customer expectation and requirement. Verification is to check whether the software conforms to the specification.
It can catch errors that verification cannot catch. It is a high-level exercise. It can catch errors that validation cannot catch. It is a low-level exercise.

48. What is the difference between cohesion and coupling?

Answer:- The following table lists the difference between cohesion and coupling.

Cohesion Coupling
Cohesion is the concept of intra module Coupling is the concept of inter module
Cohesion represents the relationship within module Coupling represents the relationship between module
Increasing in cohesion is good for software. Increasing in coupling is avoided for software.
Highly cohesive give the best software Loosely coupling give the best software
Module focus on the single thing Module is connected to the other module.

49. What is the difference between Alpha and Beta testing?

Answer:- The following table lists the difference between Alpha and Beta testing.

Alpha Testing Beta Testing
Perform by developer Perform by customer
Conducted for software application Conducted for software product
Performed in virtual environment Performed in a real environment
Involves both white box and black box testing Involves black box testing
It is not open to the market and public It is open to the market and public

50. What is the difference between Quality Control and Quality Assurance?

Answer:- The following table lists the difference between Quality Control and Quality Assurance.

Quality Assurance Quality Control
QA is a managing tool QC is a correcting tool
QA is process oriented QC is product oriented
QA use proactive strategy QC use reactive strategy
QA use for prevention of defects QC use for detection of defects
Everyone is responsible Testing team is responsible






Also check :


Discussion



* You must be logged in to add comment.