I do not think we will ever have computers, robots, or androids that will be able to pass for human under close scrutiny.
Emotions will be the stumbling block of all machines. Software, I think, would be unable to simulate a realistic emotional behavior. Firmware, closer, would still fail, I think, because even though humans operate with a similar kind of firmware, it is more flexible than any that could be written. Sort of a rewritable firmware, rather than a read-only. Not software, not firmware, as understood today.
Like the androids present on “Blade-Runner”, there will always be a test that will reveal the nature of the being.
Humans themselves are more likely, in my opinion, to be able to simulate an artificial being, than an artificial being will be able to simulate a real one.
Remember Data’s daughter? The complexity of emotions that the offspring’s software was trying to simulate destroyed Data’s creation.
Emotion. A curse and a ‘blessing’. In the final analysis it could very well be emotion that proves the existence of free will.