Development and testing are two of the most common jobs in Internet companies. They depend on each other, or on one side, but at least they are not as bad as development and product (joke 😄).

The web is full of stories about development and product relationships, but not so much about development and testing. Because of my work, I am familiar with development and testing, so today we are going to talk about the relationship between development and testing.

role

Development: Just like an architect, according to the requirements of the drawings, the foundation of the house is built, as much as possible 100% of the designer’s requirements. The development of self-testing ideas are generally based on the completion of functions, thinking of normal people should operate (but is the user a normal person?)

Testing: Full of expectations for the testing process, they are like a demolition team, frantically doing damage on the project, looking for bugs. For example, a house inhabited by people, the test measures:

  • Is this house big enough for one person?
  • Can 0.6 people live in this house?
  • This house is big enough for one person?
  • Can 10 billion people live in this house?
  • Can I live in this house?
  • Can a pig live in this house?
  • This house can live a asdfQwer@24dg! & * (@?
  • Can this house live in a hot cuff?
  • Can this house be lived in with the ceiling removed?
  • Is half the house habitable?
  • Is there only a ceiling in this house to live in?
  • Can the house be moved to another place?
  • 10,000 people came in this house, and then they left. Is it still habitable?

Development: 😅, users will not operate like you

They pride themselves on the quantity and quality of bugs they find, and they are usually happy to report bugs to developers (🙄).

However, there are too many bugs

Testing: This development, again, has more than 100 bugs, not to be ashamed

Development: Hehe…

When finding bugs becomes a seemingly endless task, the thrill of finding bugs disappears completely.

To measure

scenario

Development: the schedule is set, it’s time to test, but I haven’t finished writing the code, how to do? First write the main process through it, small details, test students test when I continue to develop, bug on the bug.

Testing: Yes, that should be all written, the process can run.

To test application

scenario

Development: gee, why is there so much content in this template, why should I write so much, just write a title, heh heh

Test: How can I know what needs to be tested if you don’t write all of it? You of all people know your code

  • Related PRD, interface, log files
  • Where should we focus on testing
  • Where is the logic complicated
  • Are there any access requirements and where to apply
  • Whether any functionality not available on PRD has been modified
  • Address of test server, which modules of APP need to connect to test server

bug

Scenario 1

Test: found a bug, with the development said: here does not run, is there a bug?

Development: ha ha, your environment did not build well?

Scenario 2

Senior test: found a bug, with the development said: pro, I can not run here, can you help to see if my environment is not built?

Dev: Oh my God, is there a bug?

Test the bug description written

Scenario 1

The test: I struggled to write in Jira

Development: I just read the headline

Scenario 2

Development: what about replay steps, bug environments, links, models? Do you have screenshots?

Test:…

Experienced testers do not bug developers as soon as problems are found. Instead, repeated validation is performed, with detailed replay steps written in test reports, renderings posted, and the production context of the bug (for example, whether it is triggered by any machine or a particular browser on a particular machine).

For more advanced tests, I will actively trace the causes of bugs, debug the relevant fragments of the code, and give appropriate suggestions to the developers.

debug

The mentality of development: Debug is a process of change.

  • No way. I code so well, how can there be a bug
  • Oh, my computer is fine
  • That’s weird. It was fine just now
  • It must be data
  • Try clearing the cache
  • Try restarting your computer
  • Oh, my god. I forgot to judge. That’s stupid
  • No, it’s not me. That’s what the idiot wrote
  • Oh, this place would have to be written the way it was written before, which is stupid of me
  • Oh, there it is. I have nothing to do with it. It’s the pot

I didn’t write the bug myself

scenario

Devs: It’s not my pot, it’s the third party package/back end/client/the idiot before

Test student: I don’t care, it’s your project, it’s your bug.

It doesn’t really matter whether a bug is your fault or someone else’s, says The Programmer’s Way. It’s still your problem to solve.

Recurring bugs

scenario

Development: two test greatly, you two can synchronize once again report bug, my bug number broke 100

Test:…

Development: these several bugs are caused by a problem, alas, blame myself…

Debug Bugs that occur during the process

scenario

Development: oops, the logic of this place is wrong, while the test did not find, secretly changed. After the change, I looked at JIRA, hehe, that bug was just submitted.

Testing: No bugs I can’t find 💪

Changes in demand

Scenario 1

Test: How does this place differ from PRD?

Development: product requirements have been changed, why not PRD

They both glared at PM

Scenario 2

Test: How does this place differ from PRD?

Development: Emmmm, I think this is more in line with user habits (in fact, it is difficult to implement, a different way)

Change the bug

scenario

Development: silently finished

Test: Finished? In? Human flesh interview…

Test: Finished? Why don’t you change your JIRA status?

Test: Finished? Did you test yourself? Is there still a problem?

Development: WTF…

  • Repeat step is too troublesome, in my mind over the logic, feel no problem
  • It didn’t cut back to the original environment
  • The breakpoint log is not deleted

Test: yes, could you tell me the reason?

To seal the package, but also change the PM requirements

Development, testing both pick up the table tiles

online

scenario

Development: I changed a little bit, do not affect other functions, need not measure, directly on it

Test: Live? When did you get it? On what function, I don’t know how can line, give a problem don’t shake the pot to me!!

Don’t sneak online, try to arrange testing when you have time. If not, you should synchronize information with the test students.

Online fault

scenario

Development: what happened to your test? Why didn’t it come out?

Test: You didn’t tell me about this requirement. How do I know?

conclusion

There is no bug-free code, development as far as possible not to write obvious bug code;

Tests write test cases and maintain core cases.

Development test is a team, everyone is for the same goal, so love each other, be peace!