Thanks Aaron. Someone should copy this to a wiki page!

Jason
moorepants.info
+01 530-601-9791

On Thu, Nov 5, 2015 at 8:28 AM, Aaron Meurer <asmeu...@gmail.com> wrote:

> I don't think there are any rules that would apply to every situation.
> Some general things, though:
>
> - Tests should provide coverage of the code. This is more than just
> lines covered (which is what the coverage tool will tell you). It
> really means you should cover all the possible code paths.
>
> - As one instance of this, you should try to test any corner cases.
> Corner cases usually represent trivial input, so they generally are
> very fast tests, but they are important because it's easy to code them
> wrong.
>
> - As for the speed of the tests, you should avoid tests that are
> slower than necessary (like don't use a very large expression if a
> small expression would test the same thing). However, I would worry
> more about coverage than test speed. Don't be afraid to add a lot of
> tests. That PR you referenced doesn't seem to have too many tests to
> me.
>
> - It's also a good idea to stress test every once in awhile. We don't
> do this enough in SymPy IMHO. This means test that are larger than
> usual. It could also mean tests that are only fast if the code is
> properly tuned, to test against performance regressions.
>
> - Tests often test more than one thing implicitly (e.g., a test may
> test the output of a function, but also implicitly test that the
> function does not raise an exception). However, it should be clear
> from a test what it is explicitly testing.
>
> Aaron Meurer
>
> On Thu, Nov 5, 2015 at 12:50 AM, Gaurav Dhingra <axyd0...@gmail.com>
> wrote:
> > Hi everyone
> >
> > There have been cases with me while solving bugs in SmyPy in certain
> cases
> > that i feel the need to follow certain rules for writing cases. I think
> that
> > there are no hard and fast rules to write test cases for everything in
> > genral for `new implementation`(for any software). For example when i
> made
> > the PR https://github.com/sympy/sympy/pull/10079 for fixing a bug, i
> think i
> > wrote too many test-cases but i thought it is better to have more
> test-cases
> > since nothing similar to that was done before in SymPy. But if i write
> too
> > many test cases i fear that overall time of tests suite would increase(i
> > think that is bad), so i am very concerned about the increasing
> test-suite
> > testing time . But for bugs solving i feel that every new line has to be
> > tested. My question is: "We as in SymPy, do we follow rules for writing
> > test-case(hard and fast rules)?, for both the new implementation and for
> bug
> > fixing?"
> >
> > Even if there is no wiki about that. It would be great if i could have
> the
> > link to some blog (which is very similar to rules we follow in SymPy). I
> > remeber when Joachim Durcholz(@toolforger) mentioned about that
> something,
> > writing clever test cases but may be skipping some lines of code from
> > testing. Like on this comment
> > https://github.com/sympy/sympy/issues/9660#issuecomment-120720283
> >
> > Thanks
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "sympy" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to sympy+unsubscr...@googlegroups.com.
> > To post to this group, send email to sympy@googlegroups.com.
> > Visit this group at http://groups.google.com/group/sympy.
> > To view this discussion on the web visit
> >
> https://groups.google.com/d/msgid/sympy/a5ef6de8-1e83-4ea6-bdb6-ec351d9011b9%40googlegroups.com
> .
> > For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sympy+unsubscr...@googlegroups.com.
> To post to this group, send email to sympy@googlegroups.com.
> Visit this group at http://groups.google.com/group/sympy.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sympy/CAKgW%3D6Jn8Hk1t88x_oorcT9NsTFYi5sDcWYDyGx9uHwEoWKfwA%40mail.gmail.com
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAP7f1Ai3bJMe3wKVO2U14iGXpAsGumnAgrQqVNZE-iC%2Bq757Wg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to