> For the complete documentation index, see [llms.txt](https://docs.pentaho.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pentaho.com/pdia-try-pdia/archive-flattened-pages/develop-your-pdi-solution/build-and-test-solution.md).

# Build and test solution

During this step, you develop transformations, jobs, and models, then test what you have developed. You will tune the transformations, jobs, and models for optimal performance.

Development occurs in the PDI client design tool. The PDI client's streamlined design tightly couples the build and test activities so that you can easily perform them iteratively. The PDI client has perspectives to help you perform ETL and visualize data. The PDI client also provides a scheduling perspective that can be used to automate testing. Testing encompasses verifying the quality of transformations and jobs, reviewing visualizations, and debugging issues. One common method of testing is to include steps in a transformation or job that calculates hash totals, checksums, record counts, and so forth to determine whether data is being properly processed. You can also visualize your data in analyzer and report designer and review the results as you develop. This can not only help you find errors and issues with processing but can help you get a jump on user acceptance testing if you show these reports to your customers or business analysts to get early feedback.

One basic question is how you can determine the number of transformations and jobs needed, as well as the order in which they should be executed. A good rule of thumb is to create one transformation for each combination of source system and target tables. You can often identify combinations in your mapping documents. Once you have identified the number of transformations that you need, you can use the same process to determine that number of jobs that you need. When considering the order of execution for transformations and jobs, consider how referential integrity is enforced. Run target table transformations that have no dependencies first, then run transformations that depend on those tables, and so forth.

| Task                                     | Do This                                                                                                                    | Objective                                                                                                                                                                                         |
| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Understand the Basics                    | <ul><li>Read the overview of the PDI client process in the <strong>Pentaho Data Integration</strong> document.</li></ul>   | <ul><li>Review information about the process and perspectives.</li></ul>                                                                                                                          |
| Review most often used steps and entries | <ul><li>Review <a href="/pages/8w7GYW43MKezRUv02RMa">commonly-used steps and entries</a>.</li></ul>                        | <ul><li>Review available transformations and determine how you can use them for your solution.</li><li>Review job step references to identify which steps can be used in your solution.</li></ul> |
| Create and Run Transformations           | <ul><li>Create and run a transformation. See the <strong>Pentaho Data Integration</strong> document for details.</li></ul> | <ul><li>Identify the transformations needed for your job and implement them.</li><li>Save transformation.</li><li>Run transformations locally.</li></ul>                                          |
| Create and Run a Job                     | <ul><li>Create and run a job. See the <strong>Pentaho Data Integration</strong> document for details.</li></ul>            | <ul><li>Create a job.</li><li>Arrange transformations in a job so that they execute logically.</li><li>Run a job.</li></ul>                                                                       |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.pentaho.com/pdia-try-pdia/archive-flattened-pages/develop-your-pdi-solution/build-and-test-solution.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
