When seeing a description in HP QC from a user which says "Button not working", it becomes a waste of time to chase them up to get replication steps, typing them up and then verifying them.
I have encouraged my team to overwrite the Description when a more clearer description becomes available. If the Description needs modification, because the issue is partially clear, this is also acceptable.
Once work begins only R&D comments are entered regarding movement of the QC, issues found, clarification needed. However, if an update is required to the Description - possibly clarifying a specific feature in more detail, the Description is modified and its update included in R&D comments.
Am I using or abusing the Description field? I have spoken to other users in other organisation who say it is forbidden to edit this. But when defects come through which are unspecific and unhelpful, in order to salvage a problematic issue, is this the best approach?
As per my experience with QC, we can edit the description, but it is not advisable to edit the defect status unnecessarily.
Thank you,
NaveenKumar N
For www.QAInsights.com
Related
I have been trying to scrape all the biography wiki pages for weeks. The problem is I can't find a way to distinguish a page concerning a person or something else.
For instance the following pages:
view-source:https://en.wikipedia.org/wiki/Albert_Einstein
view-source:https://en.wikipedia.org/wiki/Spider
look pretty similar regarding their HTML code. I am sure there must be a keyword allowing you to know if the page is related to a person.
Has anyone faced the same problem?
Thanks in advance =)
I'm not sure there is a definite way to tell but you could build up a list of indicators that you think the page might be about a person and then match on these.
For example on the Albert Einstein page there is a section for "Born" and "Died" on the right pane. By having these present we can be pretty sure that this article is about a person (although if you look for died you'll probably only get dead people). These titles however aren't consistent and you would need to match against one or more of these to build up confidence that the article is indeed about a person. e.g. https://en.wikipedia.org/wiki/Lionel_Messi doesn't contain the "Born" header but it does contain "Date of birth".
Alternatively to this you could do some natural language parsing to try and figure out if the main text on the page is talking about a person. Lots of mentions of "he" or "she", probably means the article is talking about a person.
I want to configure Phabricator with some customized rules. I am very new to this tool and would appreciate some help or pointers to how to do it.
I want to make sure all reviewers in Revision/Differential should accept all changes before changing a state of the Revision. Once all reviewers accept it then change status of the Revision to Accepted/ready to land.
Currently in my case, I have a revision in which there are different files which need to be reviewed by different reviewers. I expect that, after all reviewers accept these changes only then change status of the Revision to accepted otherwise it should be stayed on status "Needs Review". But, whenever any one of the reviewer from list accept the changes, status of the Revision changes to "Accepted"/"ready to land".
This is not currently supported. You can find discussion of this feature in the upstream, here:
https://secure.phabricator.com/T731
If some of the reviewers are really groups of people (for example, you want to make sure someone who is experienced with Python reviews all Python code, similar to "readability" at Google), you can create a project called "Python Reviewers" and add all the users who are experienced enough to do these reviews to the project. Then write a Herald rule to trigger a "blocking review" by the project whenever a change touches Python source. This will require all Python changes to be reviewed by someone from the project before they are "Accepted".
If your use case is more like "I want alincoln to look at the .c files and htaft to look at the .js files", but no reviewer will be examining the change as a whole, we philosophically discourage this. The most important feedback from code review -- by far -- is high-level feedback about the change as a whole, not feedback about implementation details. We encourage you to try to structure code review so that there is one clear author and one primary reviewer, each of whom are thinking about the entire change in the context of the surrounding software system.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
Last week, I had to create a little GUI for homework.
None of my school mates did it. They have stolen my one from where we had to upload it and then they uploaded it again as theirs. When I told my teacher it was all my work he did not believe me.
So I thought of putting a useless method or something inside with a proof that I coded it. I thought of encryption. My best idea up till now:
String key = ("ZGV2ZWxvcGVkIGJ5IFdhckdvZE5U"); //My proof in base64
Can you think of some other better ways?
I had the same problem as you a long time ago. We had Windows 2000 machines and uploaded files to a Novel network folder that everyone could see. I used several tricks to beat even the best thieves: whitespace watermarking; metadata watermarking; unusual characters; trusted timestamping; modus operandi. Here's them in order.
Whitespace watermarking:
This is my original contribution to watermarking. I needed an invisible watermark that worked in text files. The trick I came up with was to put in a specific pattern of whitespace between programming statements (or paragraphs). The file looked the same to them: some programming statements and line breaks. Selecting the text carefully would show the whitespace. Each empty line would contain a certain number of spaces that's obviously not random or accidental. (eg 17) In practice, this method did the work for me because they couldn't figure out what I was embedding in the documents.
Metadata watermarking
This is where you change the file's metadata to contain information. You can embed your name, a hash, etc. in unseen parts of a file, especially EXE's. In NT days, Alternate Data Streams were popular.
Unusual characters
I'll throw this one in just for kicks. An old IRC impersonation trick was to make a name with letters that look similar to another person's name. You can use this in watermarking. The Character Map in Windows will give you many unusual characters that look similar to, but aren't, a letter or number you might use in your source code. These showing up in a specific spot in someone else's work can't be accidental.
Trusted Timestamping
In a nutshell, you send a file (or its hash) to a third party who then appends a timestamp to it and signs it with a private key. Anyone wanting proof of when you created a document can go to the trusted third party, often a website, to verify your proof of creation time. These have been used in court cases for intellectual property disputes so they are a very strong form of evidence. They're the standard way to accomplish the proof you're seeking. (I included the others first b/c they're easy, they're more fun and will probably work.)
This Wikipedia article might help your instructor understand your evidence and the external links section has many providers, including free ones. I'd run test files through free ones for a few days before using them for something important.
Modus operandi
So, you did something and you now have proof right? No, the students can still say you stole the idea from them or some other nonsense. My fix for this was to, in private, establish one or more of my methods with my instructor. I tell the instructor to look for the whitespace, look for certain symbols, etc. but to never tell the others what the watermark was. If the instructor will agree to keep your simple techniques secret, they will probably continue to work fine. If not, there's always trusted timestamping. ;)
If your classmates stole your code from the upload site, I would encrypt your homework and email the key to the teacher. You can do this with PGP if you want to be complicated, or something as simple as a Zip file with a password.
EDIT:
PGP would allow you to encrypt/sign without revealing your key, but you can't beat the shear simplicity of a Zip file with a password, so just pick a new key every homework assignment. Beauty in simplicity :)
If you are giving source code to the teacher, then simply add a serialVersionUID to one of your class files that is an encrypted version of your name. You can decrypt it to the teacher yourself.
That does not mean anything to the others, just for you. You can say it's a generated code, if they're stealing it, probably won't bother to modify it at all.
If you want to do it in a stylish way, you could use this trick, if you find the random seed that produces your name. :) That would be your number then, and wherever it appears that would prove that it was you who made that code.
This happened with a pair of my students who lived in the same apartment. One stole the source code from a disk left in a desk drawer.
The thief slightly modified the stolen source, so that it wouldn't be obvious. I noticed the similarity of the code anyway, and examined the source in an editor. Some of the lines had extra spaces at the ends. Each student's source had the same number of extra spaces.
You could exploit this to encode information without making it visible. You could encode your initials or your student ID at the ends of some lines, with spaces.
A thief will likely make cosmetic changes to the visible code, but may miss the non-visible characters.
EDIT:
Thinking about this a little more, you could use spaces and tabs as Morse-code dits and dahs, and put your name at the end of multiple lines. A thief could remove, reorder or retype some lines without destroying your identification.
EDIT 2:
"Whitespace steganography" is the term for concealing messages in whitespace. Googling it reveals this open-source implementation dating back to the '90s, using Huffman encoding instead of Morse code.
It seems like an IT administration problem to me. Each student should have there own upload area which cannot accessed by other students.
The teacher would be a higher level up, being able to access each student upload folder. If this is not possible go with #exabrial answer as that is the simpliest solution.
The best thing you can do is to just zip the source code with a password and e-mail the password to the teacher.
Problem solved.
Use a distributed (=standalone) version control system, like git. Might be useful too.
A version history with your name, and dates might be sufficiently convincing.
What was stolen ?
The source ? You can put random Strings in it (but it can be changed). You can also try to add a special behavior know only from you (a special keypress will change a color row), you can then ask to the teacher "the others know this special combo ?". Best way will be to crash the program if a empty useless file is not present in the archive after 5 minutes of activity, your school mates will be too lazy to wait this ammount of time.
The binary ? Just comparing the checksum of each .class will be enough (your school mates are too lazy to rewrite the class files)
Just post your solution at the last minute. This won't give time to anyone to copy it.
And send a feedback to the administrator to disallow students to see other students assignments.
If you upload the file in a .zip with password encryption, anyone can just crack the password by downloading the .zip file and have their cpu run a million queries at it if they are that big of a cheat thief. Unfortunately, some are and it's easy to do.
Your source can be viewed on the shared server by the other students. The teacher should really be giving you your own password encrypted directory to upload to. This could be done easily just by adding subdomains. But perhaps the teacher might allow you to upload the files to your own server for him to access them there.
It's also possible to obfuscate the script so that it has a document.write('This page was written by xxxxx'), forcing anyone who copies your work to not be able to remove the credit unless they first decrypt it. But the real answer is that your school needs to give each of its students their own password protected directories.
In my case, my teachers came with a better approach. The questions they provided has something to do with our registration number.
Ex:
Input to a function/theory is our Registration number, which is
different for each student
So, answers or the approach to the solution are relatively different from each student.This make the necessarily of all students has to do their homework on their own, or at-least get to know how to hack the approach with their own registration[it may be harder than learning the lession ;)].
Hope your lecturer will read this thread before his next tutorial :D
i want to make a comment page but i don't know where to start or how to do this. The member of my page must make a comment about videos, articles etc. all help appreciated.
You need to examine your system usage / requirements carefully. If it is an internal only site then your worries about Spam, etc. are less important. However if it is public facing, do you users need to register to leave a comment, etc. Spam becomes a real problem. You then need to look into cross-site scripting attacks, etc.
It is a really good idea to tackle the security / spam issues from the outset. Then other questions you need to think about are what is your data store, where will you bee saving the comments. Whilst there is no excuse for poor design, only finally, or even after going live, look at what caching could be used to improve performance. To start with performance may be good enough, but over time you may need to profile your site to see any slow points, etc.
I'm assuming some knowledge of SQL Server and ASP.Net here, so please let us know the level of help required.
At a basic level you would need to create a table that has the required fields for a comment.
For example
commentId - primary key
memberId - foreign key to the member table
postId - foreign key to your posts (or videos etc)
creation_date
modified_date
comment - the text of the comment.
Your comment system should implement a Captcha - e.g. http://www.infragistics.com/dotnet/netadvantage/aspnetnewfeatures.aspx
If you would allow non-members to comment, add fields for email etc.
Then when you render your post / video pages, you'd also render comments which match the postId. Member name would be linked from your members table via memberId.
Of course, you will need to look after security, optimization, caching etc.
#Thrillercd, your question is quite a general one. I would suggest you to look into some books / tutorials on how to do this. You can get more helpful resources at www.asp.net. There is one open source application called BlogEngine that I think can help you, since your site sounds like blog/community site (Link: http://www.microsoft.com/web/gallery/BlogEngine.NET.aspx). Download it, study it, and you will have some basic understanding on how to build your site :)
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
Background
I'm a one man shop (a micro-ISV). A week after putting my product online I get a mail from one of my customers about a bug. It was an obvious fix and I fixed it in 5 minutes but I realize that the reason why the bug was reported so late is because the only contact I have with my users is through mail.
I feel I need something more but I have difficult time finding the right solution.
I was checking out some solutions, but I would like some feedback from the community
Question
What do you use for a micro-ISV (both online and built into software) when you want to give good quality service and support to your clients?
Have an issue-tracking system that your customers can use through a web page. (You do have a web page, right?) Alternately, if your software is interactive, have a menu entry "Submit Bug Report" which will email you what the user says, and perhaps other useful things (users very frequently omit things like software versions, OS versions, that sort of thing). Or both.
Also, your customers are likely to feel happier if they have a standard way to report problems.
If you want to go beyond the "email us" link, you might consider putting up a bulletin-board or even wiki-style forum on your site for your clients to use. Make your own list of Frequently Asked Questions the first post. I'd recommend using an off-the-shelf package, instead of rolling your own. A pre-existing solution should include the spam-filtering and moderation tools that you'll need.
Another idea would be to start a company blog, and invite users to leave feedback.
You fixed it in five minutes? Sounds like you're already giving good quality service / support. But if you really want a tool, I would check out if Unfuddle.com has a public bug report feature. I love that site.
This is a subject I've thought a lot about (since I'm contemplating doing just what you're doing), and there's considerable precedent for how you could proceed.
Set up a feedback page on your website
Set up a dedicated email account for your website
Set up automated opt-in bug reporting and crash reporting for your software
Set up a twitter account; and conduct twitter searches for your software name
Set up a Google Alert to track when a website or user references your product, and respond to them.
Set up a Uservoice account for your software/website (it's free for a 'small' company).
For a start, you can ensure your website is clear, and has useful sections like FAQs and How-Tos.
Make sure your customers can get in touch with you easily, and that you respond to them in a reasonable amount of time.
If you out and don't have a Blackberry enabled phone you could have your software send you an SMS of the fault.
A well designed website with a forum for news, updates, user discussions is probably a good start. It's worth paying someone to do this for you if you want to spend more time designing and coding good software. The more information you can put out there, the less time you'll spend dealing with customer issues.
In addition to giving your users more options on how to report a problem, your site should also be logging a fair amount of information. Such as, who, when, and what they did.
Further, ANY failure should be logged and automatically be reported back to you. Most clients simply won't say there is a problem and will just move on.
Just basic logging will also give you usability information. What pages do they use the most, which ones are used least, what is different about them. Are there features no one cares about?
Finally, engage your customers by asking them what they would like to see. Quite often their vision is different from yours.
I use ontime as a customer portal and help desk / bug tracking tool. It's free for a one person license. Which is great for me since I'm a one man shop as well. I'm the only full-time employee and have one to two part-time 1099 contractors here and there as work comes and goes.
There are also lots of open source out there. However, I've found the ontime to be dead simple, free for a 1 user license and cheap for 5 user license.
Split your time between development and customer support. If you focus too much on support, new functionality will suffer, and if you focus on development, customers will suffer.
So find a balance and plan portion of your time for development and another part to support.
Also keep in mind that solving the bug is just the first step.
You need to test (preferablyseveral configurations)
create a new installation
possible update manual and help files (and don't forget the translations if it's multi lingual).
Add a new version number (every deliverable must be identifyable).
Update website...
So it often takes several days to ship a single bugfix.
Besides, most customers are happy with a few updates per year. And ocasionally an urgent hotfix if the customer is in serious need of a bugfix.
I have a few systems. My main system is through a fogbugz account with buttons built in to my application that create emails for users so that they can then submit comments / bug reports etc. I also run a wiki as the documentation for my application, although I am the main contributor to the wiki and it does take a lot of effort to keep up to date. Again, there is a menu item in my application that takes users directly to the wiki. I have a built in crash reporter using an open source framework, which again submits emails to fogbugz. Finally I do online video and text based tutorials on my applications website, although I'd like to integrate them more into the application.
One (free) product that I know uses Yahoo Groups (and also a Google Group).
It acts as a mailing list: so if you report a bug, that's seen by other users as well as by the group's owner/moderator (i.e. you).
It also acts as a weblog/archive: so users can search it for known issues/answers before they submit a new message.
Have you tried Casengo? Its a free solution (for 1st agent) for handling email, chat and social media . It might be of interest to you. url: http://www.casengo.com
I am using Casengo for several weeks and is very easy to use.
Jeremy