Tag Info

Hot answers tagged

7

There are certain static analysis tools that can help determine "test impact", which can then run the effected tests. But I can't help but feel that you're solving the symptom, not the problem. When I worked in QA, there was one overriding mantra that has helped me as a developer: "don't trust the developer". Even if I could determine "relevant", I wouldn't ...


3

I think you'll find all SCMs are roughly the same, though you could consider Visual Sourcesafe as an esoteric outlier :-) Nearly all work on diff deltas between commits, SVN for example has the same kind of diff+patch approach darcs does, only it doesn't try to pull in more revision history than you ask it to when merging (I'm not sure if Darcs trying to ...


2

Fossil and Veracity are two VCSs that are not just VCSs, they are full project management systems. In addition to VCS functionality, they also include bug tracking and documentation, among other things. Veracity specifically is based around the idea that there are two general "shapes" of data in project management: "file shape" (a tree of unstructured, ...


2

Image-based systems such as most Smalltalks, LISPs, but also the Intentional Domain Workbench and similar tools have VCSs that aren't based on text. In those systems, programs aren't text files, they are semantic graphs of rich objects. In image-based systems, "programming" actually means "mutating the live running program while it is executing". Their VCSs ...


2

XML encoding can be tricky, because some XML generators might hard-code a generic content type such as ISO-8859-1 even if the document contains e.g. UTF-8. Part of the reason is most text is ASCII, and valid (7-bit) ASCII is also valid as most other encodings. Developers might not understand character encoding or might not care (works with my test data!). ...


1

Since you are not developing a website or a web application, but a desktop application which stores its data on a server, there are indeed a few layers you can skip. A common approach, in this situation, is to use web services. When a service should be lightweight and interoperable (that is, you can use it with ease from virtually every programming ...


1

A lot of it is about communication skills. You should also know that being skeptical about new tools is common in software industry. More on this later. First: Your Mindset You are not selling so don't feel like it. You are kindly presenting a solution to a common problem so be confident. (Actually if you were marketing a product, you would also be ...


1

Yes, there are tools like that and the best thing about them is that: You can have your own custom standards and analysis rules This is what you are pretty much looking for here. So if you guys have a standard procedure through which you go through when code reviewing the SQL code just make your own custom standards and/or analysis rules and you ...


1

Actually, git is rather different from the concept you described. In a nutshell, this is how it works: It's repository stores compressed copies of entire files that have changed, as determined by the SHA-1 hash of the file, rather than some form of a diff patch. But if the hash for a file is already anywhere in the repository, even if found on some ...


1

You may want to consider only running tests that have recently failed. Given that the entire set takes 6-7 hours (i.e. is runnable nightly), you could base your tests set on the past few nights' results. If you mix in a few randomly selected tests for broader coverage over the course of the day, you should get a good chance of catching errors. This idea ...


1

TL;DR: Create a Dependency DAG from affected modules Identifying the tests that are impacted by a particular change is the same as identifying when to recompile/relink a object file. Create a dependency directed acyclic graph (DAG) starting at the modified module. You should be able to traverse all imports to identify the what needs to be tested. You can ...


1

If your unit tests are taking 6-7 hours to run, something is wrong. They should take a few minutes at most. Note that I say should - I know how difficult this can be in reality. Maybe it's time you start mocking out your objects so that you're not dependent on the filesystem or DB or whatever is slowing you down. You don't want to have to deal with working ...



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