SUBJECTS
|
BROWSE
|
CAREER CENTER
|
POPULAR
|
JOIN
|
LOGIN
Business Skills
|
Soft Skills
|
Basic Literacy
|
Certifications
About
|
Help
|
Privacy
|
Terms
|
Email
Search
Test your basic knowledge |
Software Engineering Principles
Start Test
Study First
Subjects
:
engineering
,
it-skills
Instructions:
Answer 50 questions in 15 minutes.
If you are not ready to take this test, you can
study here
.
Match each statement with the correct term.
Don't refresh. All questions and answers are randomly picked and ordered every time you load a test.
This is a study tool. The 3 wrong answers for each question are randomly chosen from answers to other questions. So, you might find at times the answers obvious, but you will see it re-enforces your understanding as you take the test each time.
1. What is program verification?
The discipline devoted to the design - production - and maintenance of computer programs that are developed on time and within cost estimates - using tools that help to manage the size and complexity of the resulting software products.
Assertions that state what results are expected at the exit of an operation or function - assuming that the preconditions are true.
Testing a module or function by itself.
The process of determining the degree to which a software product fulfills its specifications.
2. What is a test driver?
A program that sets up the testing environment by declaring and assigning initial values to variables - then calls the subprogram to be tested.
The set of valid input data for a program or function.
Recording how the program meets the requirements - from the 'big picture' overview to the detailed design.
The practice of hiding details of a function or data structure with the goal of controlling access to the details of a module or structure.
3. What is statement coverage?
When every statement in the program is executed at least once.
Detecting and fixing errors and demonstrating the correctness of the program.
(1) Wasted programmer/planning hours (2) Wasted dollars (salaries - etc) (3) More difficult for a new programmer to fix - not the creator
Turning over the tested program to the customer or user (or instructor!).
4. What does efficient mean?
The process of testing the system in its real environment with real data.
The ability of a program to recover following an error; the ability of a program to continue to operate within its environment.
An object is an individual while a class is a description of a group of objects with similar properties and behaviors. Labrador dogs is an example of a class and Maggie is an example of an object.
The program meets the demands of time or space in memory.
5. Explain the phrase 'life- cycle verification.'
6. What is information hiding and why is it considered a good software development practice.
(1) It works (2) It can be modified without excessive time and effort (3) It is reusable (4) It is completed on time and within budget
The practice of only showing the information necessary for a user level and hiding the rest of the information. this makes programming in teams easier because you can see the big picture easier. Also - the programmer does not have to worry if the imp
Also called white- box testing. Testing a program or function based on covering all the statements - branches - or paths of code.
The set of valid input data for a program or function.
7. What is the unified modeling language (UML)?
A statement of what is to be provided by a computer system or software product.
A special function that can be used in top- down testing to stand in for a lower- level function.
You can test the software to see if the correct outcome occurs
Used to specify - visualize - construct - and document the components of a software system. This is particularly well suited for modeling object- oriented designs. The diagrams represent another form of abstraction.
8. What does correct mean?
9. What is loose coupling?
The process of determining the degree to which a software product fulfills its specifications.
A testing technique whereby the tester tries to execute all possible paths in a program or function.
A property when changes within a module do not result in changes in the modules that use it.
A document showing the test cases planned for a program or module - their purposes - inputs - expected outputs - and criteria for success.
10. What is testing and verification?
Detecting and fixing errors and demonstrating the correctness of the program.
Determining exactly what the program must do.
Recording how the program meets the requirements - from the 'big picture' overview to the detailed design.
The practice of only showing the information necessary for a user level and hiding the rest of the information. this makes programming in teams easier because you can see the big picture easier. Also - the programmer does not have to worry if the imp
11. What is black- box testing?
12. What are requirements?
A shared body of knowledge.
A statement of what is to be provided by a computer system or software product.
When you create your code - you break the problem into units called modules. Unit testing tests each individual module by itself. Later - you combine the working units together. Integration testing tests the group of units to see if they work togethe
Also called clear- box testing. Testing a program or function based on covering all the statements - branches - or paths of code.
13. Name some software tools that you have used in developing computer programs.
Actually using the program.
These tools are text editors - compilers - assemblers - operating systems - and debugging programs. (p5)
Recording how the program meets the requirements - from the 'big picture' overview to the detailed design.
The practice of only showing the information necessary for a user level and hiding the rest of the information. this makes programming in teams easier because you can see the big picture easier. Also - the programmer does not have to worry if the imp
14. What is operation?
Testing a program or function based on the possible input values - treating the code as a 'black box.'
Actually using the program.
Testing performed to integrate program modules that have already been independently unit tested.
The process of executing a program with data sets designed to discover errors.
15. What is a hierarchy of tasks?
The functional domain consists of the whole numbers from 0 to 100.
A formal definition of the problem your program must solve.
The ability of a program to recover following an error; the ability of a program to continue to operate within its environment.
A structure of tasks with a main module and subsections.
16. What is bottom- up stepwise refinement?
Running the program with the test cases listed in the test plan.
The double colon operator (::).
The approach in which the details come first. After the detailed components are identified and designed - they are brought together into increasingly higher- level components.
A code segment that is not always executed; for example - a switch statement has as many branches as there are case labels.
17. Differentiate between unit testing and integration testing.
A model of a complex system that includes only the details essential to the perspective of the viewer of the system.
The process of determining the degree to which software fulfills its intended purpose.
Unit testing is the testing of a single unit of the program (for instance - a function). Integration testing is the testing of groups of already tested units to make sure that they interact correctly and that the whole program works according to its
Used to specify - visualize - construct - and document the components of a software system. This is particularly well suited for modeling object- oriented designs. The diagrams represent another form of abstraction.
18. What does complete mean?
19. What is metric- based testing?
You can test the software to see if the correct outcome occurs
The practice of only showing the information necessary for a user level and hiding the rest of the information. this makes programming in teams easier because you can see the big picture easier. Also - the programmer does not have to worry if the imp
Coding a program in a computer language.
Testing based on measurable factors.
20. What is inspection?
A verification method in which one member of a team reads the program or design line by line and the other members point out errors.
An object is an individual while a class is a description of a group of objects with similar properties and behaviors. Labrador dogs is an example of a class and Maggie is an example of an object.
A verification method in which a team performs a manual simulation of the program or design.
This is the idea that program verification activities can be performed throughout the program's life cycle - not just by testing the program after it is coded.
21. What is deskchecking?
Tracing an execution of a design or program on paper.
A statement of what is to be provided by a computer system or software product.
Also called white- box testing. Testing a program or function based on covering all the statements - branches - or paths of code.
The practice of hiding details of a function or data structure with the goal of controlling access to the details of a module or structure.
22. What is a path?
A combination of branches that might be traversed when a program or function is executed.
The process of testing the system in its real environment with real data.
A shared body of knowledge.
Actually using the program.
23. The difference between unit testing and integration testing.
Used to specify - visualize - construct - and document the components of a software system. This is particularly well suited for modeling object- oriented designs. The diagrams represent another form of abstraction.
A special function that can be used in top- down testing to stand in for a lower- level function.
Two less than symbols [<<].
When you create your code - you break the problem into units called modules. Unit testing tests each individual module by itself. Later - you combine the working units together. Integration testing tests the group of units to see if they work togethe
24. What are preconditions?
Also called white- box testing. Testing a program or function based on covering all the statements - branches - or paths of code.
Tracing an execution of a design or program on paper.
Assertions that must be true on entry into an operation or function for the postconditions to be guaranteed.
A structure of tasks with a main module and subsections.
25. A program is to read in a numeric score (0 to 100) and display an appropriate letter grade (A - B - C - D - or F). What is the functional domain of this program?
Specifying what the program must do (the functional requirements) and the constraints on the solution approach (non - functional requirements - such as what language to use).
Assertions that must be true on entry into an operation or function for the postconditions to be guaranteed.
Defines the stepwise refinement approach to object- oriented design suggested by Grady Booch. First - the tangible items and events in the problem domain are identified and assigned to candidate classes and objects. Next - the external properties and
The functional domain consists of the whole numbers from 0 to 100.
26. What is a class?
Testing a module or function by itself.
A model of a complex system that includes only the details essential to the perspective of the viewer of the system.
Also called an object. The description of a group of objects with similar properties and behaviors; a pattern for creating individual objects.
To take an object and move it from a general perspective to a precise level of detail. Variations of stepwise refinement include: top- down - bottom- up - functional decomposition - and even 'round- trip gestalt design.'
27. What are class - responsibility - and collaboration (CRC) cards?
Assertions that state what results are expected at the exit of an operation or function - assuming that the preconditions are true.
A notational tool that helps us determine our initial designs. CRC cards always contain information about the class name - responsibilities of the class and collaborations. CRC cards are great tools for refining an object- oriented design - especiall
Research has shown that the sooner you detect an error - the lest costly it will be to fix it. catching an error near the end of the software life cycle can be 100 times more costly that catching it at the beginning.
The program's inputs and outputs should be readable and understandable to users.
28. What is maintenance?
Making changes to fix operational errors and to add or modify the function of the program.
The discipline devoted to the design - production - and maintenance of computer programs that are developed on time and within cost estimates - using tools that help to manage the size and complexity of the resulting software products.
A detailed description of the function - inputs - processing - outputs - and special requirements of a software product; it provides the information needed to design and implement the program.
Turning over the tested program to the customer or user (or instructor!).
29. What is abstraction?
Also called robustness. The ability of a program to recover following an error; the ability of a program to continue to operate within its environment.
The approach in which the problem is first broken down into several large parts. Each of these parts is - in turn - divided into sections - the sections are subdivided - and so on. Details are deferred as long as possible.
(1) It works (2) It can be modified without excessive time and effort (3) It is reusable (4) It is completed on time and within budget
A model of a complex system that includes only the details essential to the perspective of the viewer of the system.
30. What is round- trip gestalt design?
Defines the stepwise refinement approach to object- oriented design suggested by Grady Booch. First - the tangible items and events in the problem domain are identified and assigned to candidate classes and objects. Next - the external properties and
You can test the software to see if the correct outcome occurs
The practice of hiding details of a function or data structure with the goal of controlling access to the details of a module or structure.
The process of executing a program with data sets designed to discover errors.
31. How can you verify the correctness of the software you develop?
(1) Wasted programmer/planning hours (2) Wasted dollars (salaries - etc) (3) More difficult for a new programmer to fix - not the creator
You can test the software to see if the correct outcome occurs
Understanding the nature of the problem to be solved.
Running the program with the test cases listed in the test plan.
32. What is implementation of the design?
Also called robustness. The ability of a program to recover following an error; the ability of a program to continue to operate within its environment.
A formal definition of the problem your program must solve.
A shared body of knowledge.
Coding a program in a computer language.
33. What is a module?
Assertions that must be true on entry into an operation or function for the postconditions to be guaranteed.
To take an object and move it from a general perspective to a precise level of detail. Variations of stepwise refinement include: top- down - bottom- up - functional decomposition - and even 'round- trip gestalt design.'
A cohesive system subunit that performs a share of the work.
Unit testing is the testing of a single unit of the program (for instance - a function). Integration testing is the testing of groups of already tested units to make sure that they interact correctly and that the whole program works according to its
34. Give a specific C++ language attribute that supports information hiding.
35. What is unit testing?
A verification method in which a team performs a manual simulation of the program or design.
Running the program with the test cases listed in the test plan.
Abstraction
Testing a module or function by itself.
36. What are functional subproblems?
(1) Wasted programmer/planning hours (2) Wasted dollars (salaries - etc) (3) More difficult for a new programmer to fix - not the creator
A testing technique whereby the tester tries to execute all possible paths in a program or function.
A notational tool that helps us determine our initial designs. CRC cards always contain information about the class name - responsibilities of the class and collaborations. CRC cards are great tools for refining an object- oriented design - especiall
Simple statements like do this - then do this - then do that.
37. What is a software specification?
When you create your code - you break the problem into units called modules. Unit testing tests each individual module by itself. Later - you combine the working units together. Integration testing tests the group of units to see if they work togethe
A detailed description of the function - inputs - processing - outputs - and special requirements of a software product; it provides the information needed to design and implement the program.
A structure of tasks with a main module and subsections.
These tools are text editors - compilers - assemblers - operating systems - and debugging programs. (p5)
38. What is the extraction operator?
A verification method in which a team performs a manual simulation of the program or design.
These tools are text editors - compilers - assemblers - operating systems - and debugging programs. (p5)
A standard - integrated set of software engineering tools and techniques used on a project by an organization.
Two greater than symbols [>>].
39. What is the insertion operator?
The set of valid input data for a program or function.
Two less than symbols [<<].
Making changes to fix operational errors and to add or modify the function of the program.
The process of determining the degree to which software fulfills its intended purpose.
40. What is delivery?
Testing a program or function based on the possible input values - treating the code as a 'black box.'
Turning over the tested program to the customer or user (or instructor!).
The process of determining the degree to which software fulfills its intended purpose.
A statement of what is to be provided by a computer system or software product.
41. What is debugging?
The process of removing known errors.
Making changes to fix operational errors and to add or modify the function of the program.
Detecting and fixing errors and demonstrating the correctness of the program.
Testing a program or function based on the possible input values - treating the code as a 'black box.'
42. What is program validation?
The process of determining the degree to which software fulfills its intended purpose.
Making changes to fix operational errors and to add or modify the function of the program.
Coding a program in a computer language.
A statement of what is to be provided by a computer system or software product.
43. What is an assertion?
Recording how the program meets the requirements - from the 'big picture' overview to the detailed design.
A logical proposition that can be true or false.
A model of a complex system that includes only the details essential to the perspective of the viewer of the system.
The program's inputs and outputs should be readable and understandable to users.
44. What is integration testing?
The process of determining the degree to which software fulfills its intended purpose.
The process of determining the degree to which a software product fulfills its specifications.
A combination of branches that might be traversed when a program or function is executed.
Testing performed to integrate program modules that have already been independently unit tested.
45. What is an algorithm?
Understanding the nature of the problem to be solved.
A logical set of discrete steps that describes a complete solution to a given problem - computable in a finite amount of time.
The functional domain consists of the whole numbers from 0 to 100.
Used to specify - visualize - construct - and document the components of a software system. This is particularly well suited for modeling object- oriented designs. The diagrams represent another form of abstraction.
46. What is functional decomposition?
Also called a class. The description of a group of objects with similar properties and behaviors; a pattern for creating individual objects.
A combination of branches that might be traversed when a program or function is executed.
This program design approach encourages programming in logical action units - called functions. The main module of the design becomes the main program (also called the main function) - and subsections develop into functions. This is top- down stepwis
The program meets the demands of time or space in memory.
47. What is high- and low- level design?
48. What is the difference between an object and an object class?
Defines the stepwise refinement approach to object- oriented design suggested by Grady Booch. First - the tangible items and events in the problem domain are identified and assigned to candidate classes and objects. Next - the external properties and
The program's inputs and outputs should be readable and understandable to users.
Recording how the program meets the requirements - from the 'big picture' overview to the detailed design.
An object is an individual while a class is a description of a group of objects with similar properties and behaviors. Labrador dogs is an example of a class and Maggie is an example of an object.
49. Explain what we mean by 'ideaware'.
(1) It works (2) It can be modified without excessive time and effort (3) It is reusable (4) It is completed on time and within budget
A code segment that is not always executed; for example - a switch statement has as many branches as there are case labels.
Detecting and fixing errors and demonstrating the correctness of the program.
A shared body of knowledge.
50. What are the goals of quality software?
The program meets the demands of time or space in memory.
(1) It works (2) It can be modified without excessive time and effort (3) It is reusable (4) It is completed on time and within budget
A program that sets up the testing environment by declaring and assigning initial values to variables - then calls the subprogram to be tested.
The approach in which the details come first. After the detailed components are identified and designed - they are brought together into increasingly higher- level components.