swtv-kaist / cs458-fall22

1 stars 0 forks source link

Concrete example of test oracle #26

Closed retroinspect closed 1 year ago

retroinspect commented 1 year ago
  1. I am not sure on what the test oracle is. Is it same as test driver? Is CROWN or CBMC itself test oracle? If not, Which entity(or code?) does play role of test oracle in CROWN/CBMC?

  2. What does it mean by "test oracle plays critical role to reveal failure of a target program" from below slide? If we have good set of test cases(in terms of rechability, infection, and propagation), we can just excecute them to reveal the failure, right? Why do we need another entity/software for revelation?

image

moonzoo commented 1 year ago

I am not sure on what the test oracle is. Is it same as test driver?

No. Test oracles are different from test drivers.

Which entity(or code?) does play role of test oracle in CROWN/CBMC?

Assert statements are test oracles.

If we have good set of test cases(in terms of rechability, infection, and propagation), we can just excecute them to reveal the failure, right?

Some people consider that testcases include test oracles, some other people do not. So, I explicitly put emphasis on the importance of test oracles in testing.

retroinspect commented 1 year ago

Thanks!