Karinoya Learning Room

Qualifications · IT Passport Success Lab

Development Technology

Read the questions and explanations in English. The lectures (explanatory articles) are available in Japanese only.

View the Japanese version (with lectures) →

Q1 | Requirements definition

Which of the following is an activity performed during requirements definition in system development?

  1. Deciding the internal module structure and processing procedures of the programs
  2. Fixing failures that occur after the system goes live and improving its functions
  3. Studying the users' business operations and clarifying the functions and performance the system must provide
  4. Checking each completed program one by one to confirm it works as specified in the design documents
AnswerC. Studying the users' business operations and clarifying the functions and performance the system must provide

Requirements definition is the first phase of development: it organizes the users' requests and clarifies the functions and performance the system must provide. The second option is internal design, the third is unit testing, and the fourth is maintenance, all of which come after requirements definition.

Q2 | External design

Which of the following is the most appropriate item to be decided in external design, also called basic design?

  1. Procedures for preparing the test data used in integration testing
  2. Standardized naming of variables and functions in line with coding conventions
  3. The internal processing procedures and algorithms of each module
  4. The layouts of the screens users operate and of the reports to be printed
AnswerD. The layouts of the screens users operate and of the reports to be printed

External design is the phase that decides the parts visible to users, such as screens, report forms, and data exchange, so the fourth option is correct. The first option belongs to internal design, the second to programming, and the third to the testing phase; none of them is decided in external design.

Q3 | Design phases

Which of the following appropriately explains the relationship between external design and internal design?

  1. The user-visible specifications decided in external design are translated into program structures in internal design
  2. External design is performed after internal design is finished, based on its results
  3. Both external design and internal design are phases that decide screen and report layouts to be agreed on with users
  4. External design is led mainly by programmers, and internal design mainly by users
AnswerA. The user-visible specifications decided in external design are translated into program structures in internal design

Development proceeds from external design to internal design, turning the externally visible specifications into concrete module structures and processing procedures. The first option reverses the order, the second is wrong because internal design is not a phase for deciding user-facing specifications, and the fourth reverses the responsible parties.

Q4 | Phase order

Which of the following is the appropriate order in which the phases of system development are carried out?

  1. Requirements definition, then testing, then system design, then programming
  2. System design, then requirements definition, then testing, then programming
  3. Requirements definition, then programming, then system design, then testing
  4. Requirements definition, then system design, then programming, then testing
AnswerD. Requirements definition, then system design, then programming, then testing

Development proceeds by deciding what to build in requirements definition, deciding how to realize it in system design, building it in programming, and verifying it in testing. In each of the other three options, design or testing is placed earlier than it should be, producing impossible sequences such as inspecting something before it is built.

Q5 | Module division

What is the main aim of designing a program by dividing it into multiple modules?

  1. To increase the independence of each component, making modification, testing, and reuse easier
  2. To reduce the number of servers used in the production environment and lower costs
  3. To reduce the number of items users must enter and make operation easier
  4. To guarantee a reduction in the total number of lines of source code in the program
AnswerA. To increase the independence of each component, making modification, testing, and reuse easier

Module division turns each function into a component with high independence, narrowing the impact of changes and making testing and reuse easier. Splitting a program does not necessarily reduce the total line count, so the first option is wrong; the second concerns screen design and the fourth concerns infrastructure configuration, so their aims are different.

Q6 | Usability

Which of the following is the most appropriate example of screen design that improves usability?

  1. Notifying users of input errors on the spot and showing specifically what is wrong and how to fix it
  2. Using many technical terms so that only knowledgeable users can operate the screen
  3. Showing no operating instructions on screen and explaining them only in a separate manual
  4. Cramming every input item into a single screen and displaying no headings or supplementary explanations at all
AnswerA. Notifying users of input errors on the spot and showing specifically what is wrong and how to fix it

Usability means the ease with which users can achieve their goals efficiently without getting lost, and telling users about errors clearly and immediately improves it. The first, third, and fourth options all increase the burden of understanding and operation on users, lowering ease of use.

Q7 | Acceptance

Which of the following appropriately describes software acceptance?

  1. Improving the software after it goes live, in response to business changes and user requests
  2. Developers testing the programs they wrote, module by module or program by program
  3. The ordering party confirming the delivered software through operational testing and the like, and accepting it if it satisfies the requirements
  4. Developers building the internal structure and processing procedures of programs according to the design documents
AnswerC. The ordering party confirming the delivered software through operational testing and the like, and accepting it if it satisfies the requirements

Software acceptance is the phase in which the ordering party confirms through operational testing and similar checks that the deliverables satisfy the requirements before receiving them; it is also called acceptance inspection. The first option is unit testing, the third is programming, and the fourth is maintenance, all different phases from acceptance.

Q8 | Unit testing

Which of the following appropriately describes unit testing?

  1. Having users operate the system following their actual business procedures to verify that it meets the requirements
  2. Verifying, for each module or individual program, that its internal processing works correctly
  3. Verifying the whole system, including performance and load tolerance, in an environment close to production
  4. Combining multiple modules and verifying that data is passed correctly between them
AnswerB. Verifying, for each module or individual program, that its internal processing works correctly

Unit testing is the first stage of testing, performed module by module. The second option describes integration testing, the third system testing, and the fourth operational testing, which serves as acceptance testing; all of these are carried out at later stages than unit testing.

Q9 | Integration test

What is mainly verified in integration testing?

  1. Whether data exchange and coordination between the combined modules are correct
  2. Whether users can work through their actual business flow without problems
  3. Whether every instruction and branch inside a single module has been executed
  4. Whether development costs remain within the original budget
AnswerA. Whether data exchange and coordination between the combined modules are correct

Integration testing connects modules that have passed unit testing and verifies that the interfaces, that is, the data exchange between them, are correct. The second option is white-box testing done during unit testing, the third is the purpose of operational testing, and the fourth is about project cost management, not testing.

Q10 | System testing

Which of the following is the most appropriate description of what is done in system testing, also called overall testing?

  1. Verifying the entire system in an environment close to production, checking performance and load tolerance in addition to functions
  2. Cleaning up indentation and formatting irregularities in the source code with an automatic formatter
  3. Adding features requested by users after delivery as new functions
  4. Members reading through the modules under development together on paper, one by one, to find description errors
AnswerA. Verifying the entire system in an environment close to production, checking performance and load tolerance in addition to functions

System testing is the final stage of testing performed by the development side, confirming that the whole system works as required in terms of functions, performance, load, and so on. The first option is review or unit-test work, the second is coding work, and the fourth is adding functions during maintenance; none of them applies.

Q11 | Operational test

Which of the following appropriately describes operational testing, also called acceptance testing?

  1. Developers reading through the programs on paper and pointing out errors
  2. Developers focusing on the internal structure of the programs and checking instructions and branches exhaustively
  3. Developers verifying the coordination between integrated modules
  4. Users operating the system along their actual business flow to verify that it meets the requirements
AnswerD. Users operating the system along their actual business flow to verify that it meets the requirements

Operational testing is the final test led by the users, that is, the ordering party, to confirm that the system can be used in actual business procedures. The first option is white-box testing, the second is integration testing, and the third is code review; all are activities performed by the developers, so both the actor and the purpose differ.

Q12 | V-model

In the V-model, which testing phase corresponds to external design, also called basic design?

  1. Unit testing
  2. Integration testing
  3. System testing
  4. Operational testing
AnswerC. System testing

In the V-model, requirements definition pairs with operational testing, external design with system testing, internal design with integration testing, and programming with unit testing. Therefore the phase corresponding to external design is system testing; unit testing corresponds to programming, integration testing to internal design, and operational testing to requirements definition.

Q13 | White-box

Which of the following appropriately describes white-box testing?

  1. Feeding the same volume of data as production and measuring whether processing time stays within the standard
  2. Testing that ignores the internal structure of the program and focuses only on the relationship between inputs and outputs shown in the specifications
  3. Testing that focuses on the internal structure of the program and covers execution paths so that instructions and branches are exercised
  4. Having users operate a prototype and incorporating their feedback into the requirements
AnswerC. Testing that focuses on the internal structure of the program and covers execution paths so that instructions and branches are exercised

White-box testing looks at the inside of the program, its control structure, and designs test cases to cover instructions and branches; it is mainly used in unit testing. The first option describes black-box testing, the third prototyping, and the fourth performance testing.

Q14 | Black-box

Which of the following is an appropriate way to create test cases in black-box testing?

  1. Mechanically assigning a number of test cases proportional to the number of lines of source code
  2. Choosing execution paths so that every branch is executed at least once
  3. Checking line by line whether the comments written by the developers are correct
  4. Dividing the input conditions in the specifications into meaningful groups and choosing representative values and boundary values from them
AnswerD. Dividing the input conditions in the specifications into meaningful groups and choosing representative values and boundary values from them

Black-box testing is based on the specifications without looking at the internal structure, choosing representative and boundary values of inputs through equivalence partitioning and boundary value analysis. The first option is white-box testing, which focuses on internal structure; in the second, line count is no basis for test cases; and the fourth is code review work.

Q15 | Regression test

What is the purpose of performing regression testing?

  1. To confirm that modifying the program has not introduced defects into parts that worked correctly before the modification
  2. To confirm that trained users have correctly learned the new operating procedures after the change
  3. To confirm that the system has enough processing performance to withstand production use
  4. To check only the newly added part, verifying solely whether the added function works as specified
AnswerA. To confirm that modifying the program has not introduced defects into parts that worked correctly before the modification

Regression testing verifies that existing functions that used to work correctly have not been broken by modifications or added features. The first option is testing of the added function itself, the second is performance testing, and the third is verification of education and training; none of these is the purpose of regression testing.

Q16 | Review techniques

Among software review techniques, which of the following appropriately describes an inspection?

  1. A formal review hosted by a moderator, with participants' roles and procedures defined in advance, to detect defects in the deliverables
  2. Actually running the program to verify that outputs for given inputs match the specifications
  3. Two people sharing one terminal and taking turns writing the program
  4. A session led by the author, who walks the participants through the deliverable in order while they informally point out errors and questions on the spot
AnswerA. A formal review hosted by a moderator, with participants' roles and procedures defined in advance, to detect defects in the deliverables

An inspection is a formal review led by a moderator, with defined roles and procedures and with records kept. The second option is a walkthrough, which is informal; the third is testing by actually running the program; and the fourth is pair programming from XP; none of these is an inspection.

Q17 | Waterfall model

Which of the following is an appropriate characteristic of the waterfall model?

  1. Building prototypes and firming up the requirements while receiving user evaluations
  2. Proceeding through the phases in order and, as a rule, developing without going back to earlier phases
  3. Repeating short iterations and delivering working software in each iteration
  4. Development and operations staff working as one and releasing frequently through automation
AnswerB. Proceeding through the phases in order and, as a rule, developing without going back to earlier phases

The waterfall model proceeds through the phases in order from upstream to downstream, approving the deliverables of each phase on the premise of not returning to earlier phases. The first option describes agile development, the third the prototyping model, and the fourth DevOps; each is a different approach.

Q18 | Prototyping

What is the main advantage of adopting the prototyping model?

  1. The prototype substitutes for design documents, so no documentation work is needed at all
  2. Having users check a prototype at an early stage reduces rework caused by requirement gaps and misunderstandings
  3. Because users have checked the prototype, it can be guaranteed that no specification changes will occur after the system goes live
  4. Building a prototype always reduces total development effort and cuts costs in half
AnswerB. Having users check a prototype at an early stage reduces rework caused by requirement gaps and misunderstandings

Prototyping is a technique that prevents major rework caused by misread requirements by having users evaluate a prototype early. Design documents are still needed even with a prototype, so the first option is wrong; there is no guarantee that effort is always halved or that changes never occur, so the second and fourth options are also wrong.

Q19 | Spiral model

Which of the following appropriately describes the spiral model?

  1. Completing all functions in a single pass from upstream to downstream, with no going back to earlier phases and no mid-course reviews at all
  2. Skipping the requirements definition phase, building something that works first, and documenting the specifications afterwards
  3. Outsourcing all development phases and managing progress only through monthly reports
  4. Dividing the system into parts and raising its completeness in a spiral by repeating a cycle of design, development, and evaluation
AnswerD. Dividing the system into parts and raising its completeness in a spiral by repeating a cycle of design, development, and evaluation

The spiral model divides the system into parts and repeats a cycle from design through evaluation, reducing risk while raising completeness. The first option is the waterfall way of thinking, and the second and third have nothing to do with the definition of the spiral model.

Q20 | Agile

Which of the following is the most appropriate description of the agile development approach?

  1. Users being involved only at requirements definition and acceptance, with no involvement during development
  2. Fixing all specifications at the start and, as a rule, allowing no subsequent changes
  3. Building working software in short iterations and responding to change while incorporating user feedback
  4. Prioritizing perfectly polished detailed design documents over quickly showing working software
AnswerC. Building working software in short iterations and responding to change while incorporating user feedback

Agile development repeats short iterations, valuing working software and responsiveness to change while collaborating with users. The second, third, and fourth options are all characteristics of the waterfall style of development and are the opposite of the agile approach.

Q21 | Model selection

Requirements are not yet settled, and the plan is to add features in short cycles while watching users' reactions. Which of the following is the most appropriate development policy for this system?

  1. Run all tests together at the end, and do no verification of behavior until then
  2. Do not start development until the requirements document is approved, and accept no changes at all after approval
  3. Release working features in each short iteration and reflect user evaluations in the next iteration
  4. Fix the specifications of all functions, develop everything at once, and show it to users only upon completion
AnswerC. Release working features in each short iteration and reflect user evaluations in the next iteration

For projects whose requirements change easily, an agile style that delivers something working each iteration and feeds evaluations back is suitable. The first and third options are waterfall-style and weak against change, and the fourth delays defect discovery and enlarges rework, so none suits this situation.

Q22 | RAD

Which of the following appropriately describes RAD, Rapid Application Development?

  1. An approach in which development and operations staff cooperate closely and pursue continuous improvement through automation
  2. A technique for developing a system in a short period using a small team and development support tools
  3. A technique for creating a new service by combining multiple publicly available services
  4. A technique for analyzing existing programs to derive their specifications and design information
AnswerB. A technique for developing a system in a short period using a small team and development support tools

RAD is a technique that shortens the development period by using a small team and development support tools. The first option describes reverse engineering, the second DevOps, and the fourth a mashup; each is a different term from RAD.

Q23 | Pair programming

Which of the following appropriately describes pair programming?

  1. Two teams developing the same feature separately and adopting the better result after completion
  2. Two people sharing one terminal, one writing code while the other reviews and advises during development
  3. Having two users operate the same screen and comparing ease of use
  4. Running two kinds of tests at the same time to find defects sooner
AnswerB. Two people sharing one terminal, one writing code while the other reviews and advises during development

Pair programming is a representative XP practice in which two people write one body of code, raising quality through on-the-spot review. The first option is a competitive way of developing, the second is a way of running tests, and the third is usability evaluation; none of them applies.

Q24 | TDD

Which of the following is the appropriate way to proceed in test-driven development, TDD?

  1. Write the test code first, then implement the program so that the tests pass
  2. Plan the tests for the first time only after all implementation is complete
  3. Leave testing entirely to external specialists, with developers doing no testing
  4. Create tests for the first time only after users report failures following the production launch
AnswerA. Write the test code first, then implement the program so that the tests pass

Test-driven development writes tests first, implements the minimum needed to pass them, and repeats improvement. In the second, third, and fourth options, testing comes after implementation or launch, which contradicts the TDD idea that tests guide development.

Q25 | Refactoring

Which of the following appropriately describes refactoring?

  1. Reorganizing the internal structure of a program to make it clearer without changing its externally visible behavior
  2. Relocating a system in operation to another data center
  3. Adding new features to an existing program in response to user requests
  4. Increasing the number of servers or the amount of memory to raise processing speed
AnswerA. Reorganizing the internal structure of a program to make it clearer without changing its externally visible behavior

Refactoring is the work of tidying up the internal structure of code while preserving its externally visible behavior, making later modifications easier. The first option is adding features, the third is hardware reinforcement, and the fourth is relocating facilities; none of them is improvement of internal structure.

Q26 | Product owner

What is the role of the product owner in Scrum?

  1. Being responsible for the content and priority of the product backlog and maximizing the value of the product
  2. Conducting personnel evaluations of team members and assigning tasks to each person
  3. Recording daily progress and reporting budget overruns to management
  4. Helping ensure the rules of Scrum are properly followed and removing problems that hinder development
AnswerA. Being responsible for the content and priority of the product backlog and maximizing the value of the product

The product owner is the role responsible for prioritizing what to build. The second option is the Scrum master's role; the first is not defined in Scrum, where the development team decides its own division of work; and the fourth is not a defined role either.

Q27 | Scrum master

Which of the following is an appropriate description of the Scrum master's role in Scrum?

  1. Helping the team practice Scrum properly and removing problems that hinder the team
  2. Negotiating prices with customers and deciding contract terms
  3. Giving work orders to each member of the development team and managing them by reprimanding those who fall behind
  4. Deciding the priority of requirements and finalizing the features to release
AnswerA. Helping the team practice Scrum properly and removing problems that hinder the team

The Scrum master supports the team in practicing Scrum and removes impediments. Command-and-control as in the first option is not part of the role, the second is the job of sales or administration, and the third is the product owner's role; none of these is the Scrum master's duty.

Q28 | Scrum terms

Which of the following appropriately describes the daily scrum in Scrum?

  1. The development team meets briefly every day to share progress and problems and confirm the day's work
  2. At the end of a sprint, the deliverables completed in that sprint are shown to stakeholders for evaluation and feedback
  3. Requirements to be realized are organized into a prioritized list
  4. The team reflects on how it works and decides improvements for the future
AnswerA. The development team meets briefly every day to share progress and problems and confirm the day's work

The daily scrum is a short meeting of about 15 minutes held every day, aimed at sharing progress and detecting impediments early. The second option describes the sprint review, the third the product backlog, and the fourth the sprint retrospective; their timing and purposes are different.

Q29 | CI/CD

Which of the following appropriately describes CI/CD, continuous integration and continuous delivery?

  1. Operations staff manually copying files to the production environment and applying changes one by one
  2. Merging all changes in one batch just before release and running tests all together, once, only at that point
  3. Suspending new development and working only on maintaining the documentation of existing systems
  4. Frequently integrating changed source code, automatically running builds and tests, and automating the flow through to release
AnswerD. Frequently integrating changed source code, automatically running builds and tests, and automating the flow through to release

CI/CD is a practice that frequently integrates small changes and automates building, testing, and releasing, raising quality and delivery speed. The first option is traditional big-bang integration that delays problem discovery, the third is not automated, and the fourth stops development activity altogether, so all are wrong.

Q30 | Reverse engineering

Which of the following corresponds to reverse engineering?

  1. Using a development environment that lets you build applications just by placing components on the screen
  2. Creating a program based on the design documents
  3. Creating a new service by combining multiple publicly available services
  4. Analyzing an existing program to derive its specifications and design information
AnswerD. Analyzing an existing program to derive its specifications and design information

Reverse engineering means analyzing existing software to extract its specifications and design information. The first option is ordinary forward development from design to implementation, the second is a mashup, and the fourth describes no-code or low-code development.

Practice: answer the questions on this page

This practice tool asks questions in random order (it works when JavaScript is enabled). You can still read all the questions and explanations above without it.

* The explanations are information for study purposes. Exam scope and systems change from year to year, so always check the official announcements of the organization that administers the exam.

This page is a translation of the Japanese original. If the translation and the original differ, the Japanese version takes precedence. View the Japanese original