Test engineer
A test engineer is a professional who determines how to create a process that would best test a particular product in manufacturing and related disciplines, in order to assure that the product meets applicable specifications. Test engineers are also responsible for determining the best way a test can be performed in order to achieve adequate test coverage. Often test engineers also serve as a liaison between manufacturing, design engineering, sales engineering and marketing communities as well.
Test engineers can have different expertise, which depends on what test process they are more familiar with to PCBA and system level processes like board functional test, burn-in test, system level test. Some of the processes used in manufacturing where a test engineer is needed are:
- In-circuit test
- Stand-alone JTAG test
- Automated x-ray inspection
- Automated optical inspection test
- Center of Gravity test
- Continuity or flying probe test
- Electromagnetic compatibility or EMI test
- functional test
- Burn-in test
- Environmental stress screening test
- Highly Accelerated Life Test
- Highly accelerated stress screening test
- Insulation test
- Ongoing reliability test
- Regression test
- System test
- Vibration test
- Final quality audit process test
Early project involvement from design phase
By working with or as part of the NPI group, a test engineer ensures that a product is designed for both testability and manufacturability. In other words, to make sure that the product can be readily tested and built.
The following are some general rules to ensure testability and manufacturability of a product:
- Making sure the product has correct label specs and placement that would make it possible for the unit to be traceable and programmable. Implementing good label specs results in having correct information programmed correctly into the unit under test . To make this possible, the test engineers enforce those labels location and are all readable and scannable, thus eliminating the need for a manual typing of information into the unit. Automatic placing of identification codes into the part during test and making them available for verification at later processing steps can help minimize these types of errors. Manual typing can introduce problems related to inaccurate information being programmed due to human errors. Also, without the test engineers input during PRD design phase, the hardware engineer in charge of designing of the silk-screen for the PCB may put those labels below some attachable board which will then later renders the labels useless. This information are often indicated in both PRD and MRD.
- Making sure that all components required to test and debug the UUT, which includes the console/serial port, are all accessible from the early part of the manufacturing process up to the last part which is often the final quality audit/assurance process. This also includes making sure those components are available even after the units are returned by the customers for troubleshooting or repair. By following this guidelines, the team will eliminate unnecessary opening of the UUT just to access those components which may result in introducing errors into the unit.
- Making sure that all components needed to test the unit are added into the cost matrix of the final product. This components may include the UART/RS232 chips for talking to the UUT, ethernet ports for upgrading the firmware, JTAG connectors, etc.
- Defining what manufacturing test process is needed based from the product definition.
- Verifying that the currently available test equipment is adequate for testing the proposed design. If new equipment is needed, budgetary concerns have been addressed and sufficient lead time exists for new equipment installation and verification. Also, new test equipment may require training for test equipment operators and supervisors.
Working with cross platform teams, hardware and software team
Often people take shortcuts to be able to deliver final products. Because of these shortcuts, the product's manufacturability and testability becomes complicated which impacts the manufacturing complexity of a product. Because of this complexity, bottlenecks in the manufacturing and delivery schedule delays are introduced.With this in mind, test engineers always get involved in the following reviews as well:
- Schematics review - to make sure all components and data/electrical paths are accessible and testable
- Board layout review - to make sure all labels and components are accessible. No components are near the edges, covers, movable parts, etc. that would result into higher probability of a components being knocked off the board.
- Electrical specifications review - to make sure all we can drive the needed power into the board with any fixture needed in any of the process
- Diagnostics specifications review - to make sure command output formats are followed for simplification of whatever test automation tools will be developed. Also, to make sure that the commands themselves are available to test all components.
Yield maintenance
- In early stages, engineering, production yield fluctuates a lot. The manufacturing process is under debugging and optimising. Foundry engineers usually work with factories to drive the yield of the product. Most companies set specific yield targets for each process to hit the expected yields.
- Once the product yield is stable, usually 80%, the test engineer is responsible for advancing the product from engineering stages to initial production stages. During this period, the test engineer will monitor the production yield for a period of time, change the test program limits and even work with foundry engineer to further improve the yield.
- Once the production yield is above 90%, the test engineer can turn on full production for this product, and will continue to monitor and improve production yield.
Test automation
Test automation refers to the automation of the process to test a product through the use of machines. Depending on the product, the machines that we are referring to could mean a combination of Automatic Test Equipment, handler, interface board, and test program that drives the ATE, as with the case of the IC chip testing.Test automation is a big part of a test engineer's job.
The whole intention of automating the test is as follows:
- Enforce test steps to be followed within specifications and correct timing.
- Eliminate manual command and data inputs.
- Automate data gathering.
- Enforce test process flow.
Defining standard test documents
Following are some of the documents that the test engineers maintain or define:- Test method
- Diagnostic design specification
- Manufacturing test requirement design specification
- Design for testability
- Design for manufacturability
- Test plan
Contract manufacturer
Providing interactive and first level-of-defense support
Providing "interactive and first level-of-defense"-only support is the usual job of the CM TE. Here are some typical job functions for a CM test engineer:- Reviewing test solutions with their partnering test engineers from the customer side.
- Analyzing if the infrastructure meets the requirements.
- Getting familiar with the customer products' technology.
- Being able to manage, train and support operators who performs the actual testing.
- Being able to debug and isolate problems.
- Gathering information to feed back to their partners.
- Forgot to connect the cable to talk to the UUT. This will cause the test automation to time out for any response from the UUT.
- Forgot to connect the loopback cables when testing a UUT with any networking interface. This will cause the traffic test to fail.
- Skipped some test process. Some test process will configure the UUT to load some firmware or put it in some state so when the test automation starts, whatever known state it is expecting will not be satisfied and thus fail.
- Skipped to implement some deviations that would require hardware/software changes to the UUT.
- Forgot to power up the unit right away when the test automation started. This will result to the same problem as the first item of this list.
- Forgot to attach any other test fixture components.
Providing partial or ground up solutions
Of course, outsourcing test solutions to the CM has its pros and cons.
Some of the advantages are:
- Cheaper cost. Especially if the CM resides in a country where labor is at minimum.
- Beneficial if the company itself doesn't have or cannot find any TE that matches the company's requirements.
- Getting tied up to a single CM. It is hard to find a CM that is willing to share information to another CM.
- CM TEs are seldom involved with product design stage/phase.
- Time constraints. They only get handed out the specs of the product during late NPI stage. Because of this, test solutions are rushed and quality are often compromised.
- Conflict of interest. Company needs to know every level of information that goes through the product line in order to monitor potential problems that would one day snowball. But CM doesn't provide this level of details, they only give out how many units passed or fail for the day. A unit could have failed 5 times before it passes which may relates to some timing issues of some components of the product like the CPU or oscillators for example. The cleaner the first passed yield data that the CM provides, the better quality the unit went through the assembly line. This means that the CM would be enticed to provide the final result as their first passed yield data instead so it will reflect their higher quality side.