Parsing out the logs and generating report

My file will contain following(log.txt):

start testcase: config loading
......
error XXXX
.....
end testcase: config loading, result failed
start testcase: ping check
.....
error ZZZZZ
.....
error AAAAA
end testcase: Ping check, result failed

I am expecting below output.

Testcase: config loading
error XXXX
Testcase: ping check
error ZZZZ
error AAAA

There are so many testcases like this in file also the number of error in testcase will vary.

Please give better idea using shell script. Your help will be appreciated.

Thanks

Maybe this:

grep -E "^Testcase:|^error"

Thanks zaxxon for your response. I have slighty changed my erquirement

start testcase: config loading
......
error XXXX
.....
end testcase: config loading, result failed
start testcase: ping check
.....
error ZZZZZ
.....
error AAAAA
end testcase: Ping check, result failed
start testcase: unconfig
.....
.....
end testcase: unconfig, result passed

I am expecting below output.

Testcase: config loading
error XXXX
error YYYY

Testcase: ping check
error ZZZZ
error AAAA

sed -n -e 's%^start testcase: %Testcase:%p' -e '/^error /p' file

Hi era,

Thanks for your quick response. Please have a look into the modified requirement and let me know ur inputs.