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?

2
  • 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?"
    – kettlecrab
    Commented Dec 25, 2018 at 6:51
  • @person27 - We could also say, “I tested the program with this input data and it worked."
    – J.R.
    Commented Dec 25, 2018 at 12:46

6 Answers 6

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.

1
  • 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.
    – user3395
    Commented Dec 24, 2018 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.

6
  • 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
    Commented Dec 24, 2018 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."
    – user3395
    Commented Dec 24, 2018 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.
    – user3395
    Commented Dec 24, 2018 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
    Commented Dec 24, 2018 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
    Commented Dec 26, 2018 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.

2
  • 1
    It is not true that one is more natural than the other.
    – Lambie
    Commented Dec 24, 2018 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
    Commented Dec 25, 2018 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".

1
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.)

2
  • 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.) Commented Dec 24, 2018 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
    Commented Dec 25, 2018 at 10:35
0

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.

3
  • 1
    @Lambie In your second sentence have read isn't a simple past tense.
    – user3395
    Commented Dec 24, 2018 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
    Commented Dec 24, 2018 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. Commented Dec 25, 2018 at 0:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .