4

Let's consider the conversation:

  • This program doesn't work with this input data.
  • I've tested the program with this input data and it does work.

Is it right to use the present perfect here? Or does the simple past sound more natural?

  • I tested the program with this input data and it does work.

I suppose both variants are correct, right? But which one is more natural?

  • Since nobody has mentioned it yet, you can shorten "and it does work" to "and it works". A speaker won't usually need to add the word does unless it's contrary to the context, like if your sentence came right after somebody said "it doesn't work, right?" – person27 Dec 25 '18 at 6:51
  • @person27 - We could also say, “I tested the program with this input data and it worked." – J.R. Dec 25 '18 at 12:46
9

While both tenses are idiomatic and correct, the choice between present perfect and past generally depends on the context.

If you had recently tested the program, you would be more likely to say I have tested....

If your statement related back to a test that you had carried out in the past (whether last month, last year or whatever) you are more likely to say I tested.... With the use of the past tense, one frequently gives the approximate date.

I tested the programme last week/month/year and it does work.

| improve this answer | |
  • I've upvoted your answer because it's somewhat accurate, and even though recency is a factor – and I'd definitely say I tested would be used when that's not the case, and that perhaps you're not confident in the results anymore – it's not a decisive one. I've tested them can be said about something you did 2 years ago, but because there've been no changes to what you tested, you're confident that you still "have" that thing tested. That, I think, is what matters in this case. – userr2684291 Dec 24 '18 at 15:21
6

I wouldn't find either statement obviously wrong, or expect a native speaker not to say one of them, but they seem subtly different.

To me, saying:

I've tested the program with this input data and it does work.

emphasises that the program is, right now, in a tested state. Whereas:

I tested the program with this input data and it does work.

emphasizes a past event - you testing it. For that reason I'd prefer the first if you wanted to keep the 'and it does work', and simply 'I tested the program with this input data' (or 'I tested the program with this input data and it worked', or 'I tested the program with this input data this morning and it worked') if you were not sure that it still worked now.

I speak British English - US English seems to use the present perfect tense less often, so you may get different judgements from Americans.

| improve this answer | |
  • This is perhaps the best answer. The only difference is the simple past is a done deal and the present perfect is past but when is irrelevant. If you want to say when it was tested, you have to use the simple past. (By the way, this BrE versus AmE thing is simply not true, except for unschooled speakers).Somehow this myth has continued to spread around here like wildfire and it simply is not true. – Lambie Dec 24 '18 at 18:26
  • 1
    @Lambie Regarding this "myth", The Cambridge Grammar of the English Language by Huddleston, Pullum, et al. says the following: "There are some relatively small-scale differences between AmE and BrE with respect to the choice between the present perfect and the simple preterite – cases where AmE may prefer a simple preterite where BrE requires a present perfect. One case concerns situations in the recent past, where I just saw them, for example, might be preferred in AmE, I've just seen them in BrE. Another case concerns the aspectual adjuncts already and yet." – userr2684291 Dec 24 '18 at 19:56
  • 1
    Of course, it is these small-scale differences that're pronounced due to the fact the described situations arise often (in speech in particular). So yes, I'd say AmE definitely uses the present perfect less frequently (in absolute numbers), but not across the board as far as the number of distinct uses of the present perfect goes. What I've quoted obviously doesn't apply here, so I'd say the caveat in the answer is a distraction. – userr2684291 Dec 24 '18 at 20:03
  • @userr2684291Yes, they can say what they like. I disagree with them. There are tons more people in North America than Britain, therefore, things tend to stand out. For me, all other things being equal (education, mostly), there is no difference there. I am American and hear the PP all the time. The idea it is "less used" is laughable. The more educated, the more proper use of PP you get. The less formally educated,the less standard use you get on both sides of the Atlantic. – Lambie Dec 24 '18 at 21:10
  • @Lambie What do you mean by the more educated, the more PP? Native speakers usually don't need any education to use their language correctly. – Alexey Dec 26 '18 at 11:12
3

Both are right but to me, this is more natural:

I have tested the program with this input data and it works.

| improve this answer | |
  • 1
    It is not true that one is more natural than the other. – Lambie Dec 24 '18 at 19:42
  • If I say I tested the program and it does work, then there was some expectation that it wouldn’t. Saying I tested it and it works doesn’t carry that expectation. – James Dec 25 '18 at 17:25
2

The perfect aspect is used to indicate the state relative to some other time; in the case of present perfect, that time is now. So "I have tested" implies that while the testing was done in the past, it remains relevant, allowing one to follow with "it works" in the present tense: the act of testing was completed, and remains completed. Using the simple past put the action purely in the past, and doesn't imply anything about the current state; the simple past doesn't have the same connotation of it being completed as the present perfect does. So following it with the present tense is off; it should be "I tested it and it worked".

| improve this answer | |
  • 1
    What about "Pat baked some cookies and they are delicious."? – Scott Dec 24 '18 at 20:21
1

This is a computer-programmer's opinion, rather than a linguists answer, but I would only ever use

I tested the program with this input data and it worked.

(Emphasis added for clarity.)

| improve this answer | |
  • 1
    I have some sympathy for this point of view.  But it raises the question: What's the purpose of testing if all it proves is that the product worked when you tested it?  Testing is meant to ensure that the thing works now, and will continue to work.   (Of course all bets are off if the program was modified after you tested it.) – Scott Dec 24 '18 at 20:27
  • @Scott what you say is always true. Testing the program only means that it worked for the person who did the test, at that time. If there is a bug that causes random behaviour, it may work some times but not others, or it may only fail if you do a particular sequence of operations before the test. Personally, if I was talking to a user, I would probably say "...and it worked for me" to make it clear I wasn't challenging the fact that it didn't work for someone else, but implying that for some reason we must have done different things. – alephzero Dec 25 '18 at 10:35
-1

To answer your question simply, only the first variant of that sentence is correct. That being said, very many people will use the second, and since English is an ever-changing language there will probably come a point in the future, possibly a very close one where it will be considered correct. The reason only the first is correct is verb tense consistency. In other words, if a sentence starts in past simple, it stays in past simple; if it starts in present perfect, it stays in present perfect.

If you say, "I tested the program with this input data..." then your sentence is in past simple, and so the rest of the sentence should be as well. Therefore, "... and it does work." is the wrong tense. The correct ending to the sentence as started above would be, "... and it worked." The entire sentence is therefore in past simple.

Having said that, It's worth reiterating that it probably will be used like this about as much as it isn't. Naturalness does tend to win out over correctness, and then becomes correctness for as long as it takes for something else to feel natural.

| improve this answer | |
  • 1
    @Lambie In your second sentence have read isn't a simple past tense. – userr2684291 Dec 24 '18 at 19:49
  • 1
    Either one is fine: I have read it and it is true. I read it and it is true. Different nuances, both grammatical. – Lambie Dec 24 '18 at 21:12
  • Lambie was perfectly constructive and polite .. and correct. Your assertions in the answer are unfounded. There is nothing inherently wrong with using two tenses in a sentence when you're talking about two things. "I went to the doctor for a check-up, and I'm fine". There is an implied assumption that if you were fine when you went to the doctor then you're probably still fine now -- and we conventionally accept this as given. The same applies for the OP's phrase. – Lightness Races in Orbit Dec 25 '18 at 0:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.