Skip to content
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

Closed
20 tasks
pdurbin opened this issue Nov 18, 2015 · 11 comments
Closed
20 tasks

Document ideas for improving automated testing #2746

pdurbin opened this issue Nov 18, 2015 · 11 comments

Comments

@pdurbin
Copy link
Member

pdurbin commented Nov 18, 2015

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.

@bencomp
Copy link
Contributor

bencomp commented Dec 3, 2015

👍 ! 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)

@michbarsinai
Copy link
Member

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.

pdurbin added a commit that referenced this issue Dec 8, 2015
Also added todo to work on zip files not being unpacked.
pdurbin added a commit that referenced this issue Dec 9, 2015
Also a test to determine via SWORD of a dataverse is published.
pdurbin added a commit that referenced this issue Dec 11, 2015
@mercecrosas mercecrosas assigned michbarsinai and unassigned pdurbin Dec 31, 2015
@kcondon
Copy link
Contributor

kcondon commented Oct 27, 2016

@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.

@pdurbin
Copy link
Member Author

pdurbin commented Oct 27, 2016

@kcondon thanks, I just updated the description of this issue to talk about logging.

@pdurbin pdurbin assigned pdurbin and unassigned djbrooke Jun 8, 2017
@pdurbin pdurbin removed the Component: Code Infrastructure formerly "Feature: Code Infrastructure" label Jun 8, 2017
@pdurbin pdurbin changed the title Improve automated testing Document ideas for improving automated testing Jun 8, 2017
@pdurbin
Copy link
Member Author

pdurbin commented Jun 8, 2017

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.

@landreev landreev self-assigned this Jun 9, 2017
@landreev
Copy link
Contributor

landreev commented Jun 9, 2017

I'm going to add a few simple things we agreed to implement on Tuesday, during the "architecture" meeting.

@pdurbin
Copy link
Member Author

pdurbin commented Jun 13, 2017

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 3431-dev-guide branch I'm working on for #3431.

Meanwhile, in a section called "Future Work", I added the ideas in this ticket via 5b57bec so I'm closing this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

No branches or pull requests

8 participants