An embedded system:
http://en.wikipedia.org/wiki/Embedded_system
so an embedded systems engineer I think would make sure the embedded computer works with, monitors or controls the surrounding hardware.
an embedded software engineer would develop and maintain the application software running on the embedded computer. He/she might have to specially load the software onto the computer thru some special means like replacing a ROM or some controlled write to update the EPROM or SDCARD ...
an embedded firmware engineer would handle the firmware of the computer system ROM, PROM or EPROM or SD card. He / she may have to update and flash the ROM with a new OS.
a test engineer would run hardware and software tests on the embedded computer and its hardware. The tests would be things like
- functional tests, I inject an error and an LED lights up and do this for each LED, each sensor, each supported function...
- system tests, I use the device like a user doing common user tasks and see how well it works do the right LEDs lightup do the right motors activate... I use it with other devices that its supposed to work with like on a distributed network or in the context of a bigger system
A simple example would be a GPS system that works standalone or in a car. The software guy develops the software for it, the firmware guy maintains the embedded linux kernel, the systems engineer designs it to work within a car. The test engineer tests it standalone and then within the car