firmware development test and automation