My company wants to implement continuous delivery and want auto test from bamboo build. The latest application we are tackling is some UI applications.
My previous company who ran CD successfully uses some automated testing framework called Jemmy, but my teammate is keep talking about QTP. From my understanding Jemmy is a developer thing for UI unit testing while QTP is a QA thing for end to end black box testing.
How can I explain this more solid to them, so they know what they are asking for?
It's hard to implement continuous delivery using a heavy weight tool like QTP (or any automation tool that works on an object inspection level). You won't be able to parallelize and scale the tests quick enough for CD using any heavy UI tools. Problem with QTP, or any 3rd party UI tool that works via object inspection is you won't be able to run multiple instances (say like 10-100) concurrent instances on the same machine. It'll make hardware/cloud provisioning quite expensive when you need to run threads in parallel, especially with bamboo automatic branching as you can be easily forking off code branches and immediately launching large amounts of parallel tests with each new fork.
Really the only best solution for a CD workflow is to build automation into the product itself. I haven't used Jemmy, but feels like a good start. At a previous company I worked for, we just used Google Protocol buffers and created a messaging system to send commands to our UI. You basically want a common interface, then build automation hooks straight into the product. This will allow your devs to scale the automation much better than external 3rd party tool dependencies.