19

As I'm sure you are aware, there are many different types of software testing, such as unit testing, integration testing, acceptance testing, etc. So it's kind of an umbrella term for all of those, and at this very high level of discussion, we can only really talk about "quality", as a broad term. You are simply validating the software against whatever ...


14

As this question created some controversy, let me start off this answer with my background: Apart from being exposed to V&V in daily project work, I worked for several years in the software engineering department of my alma mater and am a lecturer for software engineering. While this does not guarantee that anything I say is correct, I hope it at least ...


10

Software verification is the collection of methods used to determine if the software system that is being constructed is being built right. Some aspect of the system, whether it's the design, the implementation, or the test cases, are compared to the documented requirements of the system. A software inspection is a particular technique that can be used to ...


10

From Daniel B's answer: I'm using the definition from a developer's perspective - this doesn't work as I (the developer) intended it. It is typically based on either a very specific requirement, or a very specific interpretation of a requirement. The client's definition is typically similar - this doesn't work as I (the client) intended it, which is a ...


8

It depends on what you are trying to test. If you are trying to verify that a file arrived intact and wasn't changed in transit, a checksum (or a digital signature) would be the gold standard. If you are trying to verify that you have processed the file successfully, the aggregate information that you're looking for is exceptionally helpful. ...


8

It does not seem to make much sense to run the exactly same set of tests against the exactly same, unchanged piece of software once a year, as long as the software runs on a reliable, unchanged hardware, in an unchanged OS environment, and the program behaves deterministically in context of the tests. However, if your company is not just testing the ...


8

Tests are not proofs. Tests are experiments. Proofs are formal arguments. But both can be used to decide a proposition (a statement that may be true or false). In general, our propositions have the form “∀x: p(x)” (for all inputs/examples x, some property p holds). Tests/experiments only try out specific examples. They do not in general cover ...


7

Validation ensures that the product actually meets the user's needs, and that the specifications were correct in the first place, while verification is ensuring that the product has been built according to the requirements and design specifications. what testing (unit, integration, system, uat) will be considered verification or validation? Unit, ...


7

One of the traditional definitions of software testing is execution of the program with the intent of finding bugs. This was Glen Myers definition, for example. We pretty much followed that definition in Testing Computer Software. I still see this--Wikipedia, for example, says "Test techniques include, but are not limited to, the process of executing a ...


7

Personally, I've never heard of the term "static testing". I have only heard of the term "static analysis", which refers to any time a work product is examined without being used. This includes code reviews as well as using tools such as lint, FindBugs, PMD, and FxCop. Here is some information from sources that I have available: Section 5 (Software Testing)...


7

Tests will ensure correctness (minus your uncovered edge cases), but it's not enough for the code to be correct; it must also be as readable/understandable as possible for you and anyone reading it after you. Even with a stringent code review process on my team, I always perform my own self-review before creating a pull request. In doing so, I often find ...


6

If not distorted, using OCR it is quite easy. By the way, there was a question on OCR yesterday (OCR - starting point) where I posted a link to Google's OCR tool. I also posted another link that may be interesting for you, in which they explain how the OCR tool treats words it cannot read, http://allspammedup.com/2011/01/google-recaptcha-cracked, excerpt: ...


6

What you're trying to do is called Formal Verification, and is generally impossible in JS. If, however, you restrict yourself to a subset of the language, it becomes tenable. The usefulness of such an analysis is debatable. It is certainly used for other languages in areas where safety and correctness is of utmost concern, and development speed can take a ...


5

What is the aim of software testing? In short: As question authors comment says "in general, software testing as a process." - Your question is broad, and here is its definition in Wikipedia article. Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software ...


5

You don't need AJAX or anything other than using POST commands over a secure channel. At a very high level these are the steps: Step 1 - The signup page. Utilize https for any signup pages that include sensitive information. Because the user will be sending their e-mail address and phone number this must be https. Post the account information including ...


5

In the opening sections of the paper that you quote, Boehm states: There is very little agreement in the software field on the definitions of the terms "verification" and "validation." Boehm defines the terms verification and validation as he intends to use them in the rest of the paper, in order to be able to clearly present the rest of the writing ...


5

You can write tests and call it verification. You can write proofs and call it verification. But none of them mean anything if the code, the tests, and the proofs aren't all readable. The reason we write tests is to improve the readability of the code. Same with proofs. The reason we forbade goto was to improve the readability of the code. It's all about ...


5

Software verification and validation are all the activities that ensure that the software fulfils all the needs and requirements for its intended purpose. As such V&V is part of the larger set of Quality Assurance activities (the latter also include activities to improve the quality, beyond the area of quality control to which V&V belongs) The ...


4

It depends on who has the most benefit from the correct data. Do the users of the site have a benefit for themselves if they enter they own data correctly? For example, will they miss a newsletter if they make a typo in entering their correct email address? Then you don't need any peers, just make it easy for your users to double-check the data they entered ...


4

It depends how are the terms defined in the book you are using. In wikipedia there is an interesting text about SW Verification. For me validation of requirements basically means that requirements are clear enough for the customer and the organisation that is going to deliver SW so that they can make a formal deal. Of course the validation process is not so ...


4

Identify software regressions as soon as they present themselves. Unit Testing, in particular, is meant to identify regressions early in the building/testing/deploying chain Acceptance Testing is more on the lines of fullfilling a contract with a client. But then again, if one part of an acceptance test doesn't pass while it was instead supposed to, you ...


4

The answer depends on your programming language, but what are are looking for is a code coverage tool Just run it on your tests. https://stackify.com/code-coverage-tools/


4

Formal verification needs to have a goal: what precisely do you want to prove? For example, if you merely want to prove that a program terminates than you can treat built-in functions like console.log() as a given and declare an axiom that the function terminates. You can then use that axiom to prove whether user-defined functions that call console.log() ...


3

ISO 12207 has a rather non-standard (and very fuzzy!) distinction between verification and validation. In most circles, verification answers the question "did we build it right?" (does our product meet the requirements?), while validation means "was this the right thing to build" (do we have the right set of requirements?). ISO 12207 mentions requirements ...


3

From Wikipedia : "... In other words, validation ensures that the product actually meets the user's needs, and that the specifications were correct in the first place, while verification is ensuring that the product has been built according to the requirements and design specifications. Validation ensures that "you built the right thing". Verification ...


3

To check file integrity, generate and compare hashes of your files with the originals. For protecting against corrupted downloads, CRC-32 or MD5 would suffice. However if you want to ensure the files weren't altered by a malicious third-party, for whatever reason, look into SHA-1. All three are widely used and implemented and should be available for PHP. ...


3

Have your system have log files that it can write to, which can be downloaded later from test versions of the device. (Make the logs circular, so that you'll always have the last X log lines, and limited memory requirements.) The requirement now becomes that postprocessing that log file shows that the battery was checked at least once during each second. ...


3

Sign the query string along with a timestamp and a transactions ID that you randomly generate on your backend with the SSL certificate of your website. You should also think about the case where a payment gets through but the users computer loses it's internet connection directly afterwards. For that case you should send the server of the website directly ...


3

I've implemented something very similar to what you describe. Any time the user wanted to fund his/her account, he/she had the option of either providing a credit card number, or, if applicable, re-using the last credit card. In this implementation, I just stored the last four digits of the "default" card at Stripe locally, in my own database table. When ...


Only top voted, non community-wiki answers of a minimum length are eligible