-
Notifications
You must be signed in to change notification settings - Fork 498
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document ideas for improving automated testing #2746
Comments
👍 ! Of course I won't need to add much to what I have said before about testing. I recently heard about QuickCheck on Software Engineering Radio. It's a system (the original works for Haskell, but there are various Java implementations) that generates lots of test cases automatically, based on defined assumptions about the context of a test. That could be useful. Interestingly, in that episode of SE Radio, Dave Thomas argues that aiming for excellent code coverage is a waste of time. Automated acceptance tests should be enough to cover the most important use cases, with unit tests only adding to where they are really needed. I don't remember if this was about the legacy systems they were talking about and that for new systems it does make sense to have unit tests covering lots of code. I do still believe in automated testing as Dataverse is huge and complex. You want to use the limited QA resources wisely. Having correct tests (not sure if #2460 shows code is not working or if the test is incorrect) helps to detect mistakes before QA or the users find it. (edit: QuickTest should have been QuickCheck - link was correct) |
Great list, @pdurbin! Commands are normally testable by providing a test context. There's a PoC unit test for this. It's probably a good idea to add some real tests as well - this will allow for building reusable mock service beans. |
Also added todo to work on zip files not being unpacked.
Also a test to determine via SWORD of a dataverse is published.
@pdurbin Please also add test output logging, listing the api endpoint being called and response code. Will help understand each test and high level code coverage. |
@kcondon thanks, I just updated the description of this issue to talk about logging. |
Actually doing the improving is way too big of a chuck so I'm planning on incorporating the ideas above into the page @bsilverstein95 has been working on for #3431. That is to say, this is becoming an issue about documentation only. Execution can happen later. |
I'm going to add a few simple things we agreed to implement on Tuesday, during the "architecture" meeting. |
@landreev and I talked about his comment above an it sounds like he isn't planning on adding anything to the Meanwhile, in a section called "Future Work", I added the ideas in this ticket via 5b57bec so I'm closing this issue. |
We'd like to make improvements to our automated testing. I'm going to iterate on this issue description to jot down some ideas which may spawn child issues. I also started a thread on the mailing list asking for ideas from the community.
vagrant up
on a server to test the installer: http://guides.dataverse.org/en/latest/developers/tools.html#vagrant . We haven't been able to get this working in Travis: https://travis-ci.org/IQSS/dataverse/builds/96292683 . Perhaps it would be possible to use AWS as a provider from Vagrant judging from https://circleci.com/gh/critical-alert/circleci-vagrant/6The text was updated successfully, but these errors were encountered: