2

In our company, we use XML as a core part of the integration. We had a few occasions where our customer raised the concern that our XML's are not validated as per the schema. I have asked the QA team to include XML schema validation as part of their testing. They resisted taking new responsibility saying that only developers need to do the schema validation as XSD files are code and therefore it is not part of their QA testing.

My argument would be if developer misses the XML schema validation then QA will catch it before it goes on Live. Similar to UI form data validation XML is data that needs to be validated against its schema, and therefore both developers and testers need to take the responsibility.

Please, can you confirm what would be the norm as per industry standards, who should validate XML code against the schema?

closed as primarily opinion-based by Peter M., user246, Milin Patel, NarendraC, dzieciou Oct 19 '16 at 5:16

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    Don't ask us: ask your boss (assuming boss of the DEV team), and boss of the QA team, to decide who does what, and what is your own "definition of done" – Peter M. Oct 18 '16 at 21:03
  • As a dev team lead (myself), I believe both dev and QA are responsible but QA team boss resists taking new responsibility and therefore I want to understand what is the norm in the industry. – Jemsworld Oct 18 '16 at 21:13
  • Then your boss and boss of QA team boss decides. He who has money decides who does what when. – Peter M. Oct 18 '16 at 21:40
  • I am not looking to make this a political issue in my company, I am looking for StackExchange community thoughts if they had similar issue – Jemsworld Oct 18 '16 at 21:46
  • 2
    I struggle with whether this is opinion based or not. Let's say there was a standard or a precedent - we could cite IEEE 1234567 in that case. Or maybe some famous blogger laid out a rational case and a bunch of other folks said we just tried what you said and it works great! XML validation is a solved problem! In that case, it wouldn't be opinion based. So if that would be a fine question with that answer, shouldn't the question itself be okay regardless of if the answer exists? I don't want to use my modhammer to reopen it, but part of me feels it should be open. – corsiKa Oct 19 '16 at 15:02
3

There is no one standard industry "norm" people have to adhere to.

Coincidentally, I recently had a XML validation experience myself.

  • As a tester, I was working in an Agile team for 8 weeks. The project we were working on required cooperation from two external development teams, both of which located in a different city.
  • A XML file was what we used to pass down configuration from one system to another.
  • When this XML file was given to us, it had a number of flaws, such as invalid syntax, wrongly named variable, variable assigned with wrong values and etc.
  • Due to this XML file, our system was not working. And it was not clear whose responsibility it was to test it or fix it, various people ignored requests to fix this XML file and when this issue was finally addressed, people started pointing fingers at each other, saying it is not our responsibility.
  • The outcome of this project was: product was not delivered, it went over budget, people sat on their hands for over half of the project due to broken XML, the project manager was questioned by senior management regarding why this project had failed.

Strictly speaking, testing a XML and fixing a XML was no one's designated responsibility as in the initial test plan, there was not even a test case for this XML file. People used this void of responsibility to blame shift.

So what can we do?

  • By Agile principle, testing is not someone's designated responsibility alone. Everyone in a team is responsible for software quality. This particularly applies to QAs, but it does not mean devs have no testing responsibility.
  • By Agile principle, best practice and best results alway come from self-motivated and self-organizing teams. Why is this QA leader not cooperating? Is it due to lack of time? Is it due to short of hands? Has the QA leader had any bad experience in the past for taking extra responsibility? Talking to next level of management higher up may give you a clue, but please do not take this politically otherwise the QA leader may take it as career-torpedoing.
  • There is no test plan that will work 100% once a project starts; there are always something unexpected will happen, we have to be adaptive.
  • If no one, regardless of a dev or a qa, wants to take up this responsibility, you may very likely end up in the same shoes as in the foretold story.
  • 1
    Thanks for detailed answer, this would resonate to my thought process that both dev and QA are equally responsible for the quality of the end product and if it fails all as a team would be blamed. The main argument from QA is that schema is code, does it really matter if it is code or not, it only takes few hours to understand schema and at the end, they do not even need to understand the syntax for using the schema validation tool. – Jemsworld Oct 18 '16 at 21:57
  • 1
    @Jemsworld, there is no well-defined boundary in terms of responsibility. What my manager used to do in the past is: he asked for volunteers to take up an unexpected task. In general, someone would volunteer for it. For some, testing XML seems to be a bother, but for some, it will be a new experience. – Yu Zhang Oct 18 '16 at 22:03
  • 1
    @Jemsworld, XML can be easily tested using any schema validation tool online, but it will take a beginner some time to diagnose the results. Often, XML validation tool can not discover all the flaws in the first run; you may need to validate it, fix all the flaws, validate it again, fix all the flaws and repeat this cycle for a few times. – Yu Zhang Oct 18 '16 at 22:14
  • 1
    My plan would be I can easily train QA on how to use the schema validation tool. If schema validation fails then dev will try to fix the schema or XML depending on where the issue is. – Jemsworld Oct 19 '16 at 7:35
1

I prefer to ask for forgiveness than to ask for permission and many companies and managers share this principle although not always admit that openly.

If there's something innovative to be tried where it is hard to convince people upfront to support something I've learned it's better to try it myself or within a small group. If it worked for you it will be easier to demonstrate to others and convince to use or follow it.

  • well said, agreed. – Yu Zhang Oct 18 '16 at 22:08

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